索引定义

数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这种数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据节后就是索引。

聚集索引

叶子节点包含了完整的数据记录
MyISAM非聚集
MYI 存储表的索引,MYD存储的行数据 索引与行数据分离
叶子节点存储数据地址
InnoDB聚集索引
IDB 索引元素,数据元素合并到一起
主索引:
叶子节点存储数据
辅助索引(联合索引、单独索引):
叶子节点存储主键

为什么InnoDB表必须有主键,并且推荐使用整形的自增主键?
数据必须要有B+树的索引去维护
整形:比较速度快
自增:
image.pngimage.png
采用非自增主键时会造成分裂,影响效率

联合索引

image.png
image.png
explain查看是否使用索引
image.png