整理自:公众号-阿里技术-慢sql治理案例分享,《MySQL技术内幕-Innodb存储引擎 第二版》
硬条例
InnoDB引擎的索引概念
innodDb索引
- B+树索引
- 全文索引
- HASH索引
B+树索引
- 聚集索引
- 辅助索引
B+树是为磁盘或其他直接存取辅助设备设计及的一种平衡查找树,其高度聚集
所有记录按定义的逻辑顺序存放于叶子节点,使用双向链表组织
聚集索引
- 每张表只拥有一个 聚集索引
- 叶子节点存放整行数据(区分辅助索引的依据),优化器倾向使用
- 特快访问针对范围的查询(逻辑顺序,树查找)
辅助索引(非聚集索引)
- 叶子节点不包含行记录全部数据
- 叶子节点:键值+书签(行数据对应的聚集索引键) ,因此,先进行辅助索引查找,在目标叶子上得到主键索引的主键,然后 通过主键在聚集索引的树中找到对应完整行数据(即:创建原则中的回查聚集索引)。