mysql 索引

1,索引

1)索引:排序的数据结构,用于快速查找、快速更新数据库表中的数据。
簇索引:数据行的物理顺序和列值的逻辑顺序相同。(数据和索引在一起,数据在叶子中)
辅助索引(二级索引):叶节点存储了主键索引的值。
覆盖索引(概念):所有数据都可以从索引中获取,不需要读取主索引记录。
B+Tree:非叶子节点只存key,叶子节点保存key和数据。叶子节点的key从小到大链接
2)主索引和辅助索引

image.png

image.png

3)联合索引
(a, b) 联合索引,数据按照(a,b)顺序进行了排序。
image.png

2,索引生效

1)mysql目前仅支持前导列。按最左前缀的原则进行筛选。如(a, b)索引,底层排序为(1,1),(1,2),(2,1),(2,4),(3,1),(3,2)对于where b = ?来说,复合索引b列是未排序的。
2)索引列上使用范围查找,该列后的索引信息将不能被使用。

你可能感兴趣的:(mysql 索引)