Innodb索引概念,建立原则,失效场景

125 阅读1分钟

整理自:公众号-阿里技术-慢sql治理案例分享,《MySQL技术内幕-Innodb存储引擎 第二版》

硬条例

innoDB.png

InnoDB引擎的索引概念

innodDb索引

  • B+树索引
  • 全文索引
  • HASH索引

B+树索引

  • 聚集索引
  • 辅助索引

B+树是为磁盘或其他直接存取辅助设备设计及的一种平衡查找树,其高度聚集

所有记录按定义的逻辑顺序存放于叶子节点,使用双向链表组织

B+树索引

聚集索引

  • 每张表只拥有一个 聚集索引
  • 叶子节点存放整行数据(区分辅助索引的依据),优化器倾向使用
  • 特快访问针对范围的查询(逻辑顺序,树查找) 高度为2的B+树-内存组织

辅助索引(非聚集索引)

  • 叶子节点不包含行记录全部数据
  • 叶子节点:键值+书签(行数据对应的聚集索引键) ,因此,先进行辅助索引查找,在目标叶子上得到主键索引的主键,然后 通过主键在聚集索引的树中找到对应完整行数据(即:创建原则中的回查聚集索引)。