概述:

  • InnoDB引擎有很多维度的索引类型。
  • 索引维度索引类型的不同维度,反正都是B+树

    索引维度

    唯一索引

  • 每个值保证是唯一的

    非空索引

  • 不能存在null值

    主键索引

  • 唯一非空的索引

  • 只要存在就是聚簇索引

    聚簇索引

  • 聚簇索引是将表的全部数据与索引放到一起,索引每个表必须有且只能有一个聚簇索引

  • 定义表时,InnoDB会选择

  • 也叫二级索引

  • 非聚簇索引里存的都是指向聚簇索引的唯一索引值。

    索引类型

    普通索引

  • 就很普通,严格来说,InnoDB只有一种索引类型,就是B+树,只是存储的值不一样而已。

    联合索引

  • 多个字段组合成的值作为索引。

  • 也就是B+树的值是多个字段组个的值。
  • 如果其中某个字段是排序的字段,并且真的用上了,那么细想一下B+树的搜索过程,排序字段后面的字段都用不了了。

    函数索引

  • mysql8.0才有

  • 就是把函数的计算结果作为索引值。