MySQL 为什么用 B+ 树做索引?联合索引的最左前缀原则是什么?哪些情况索引会失效?

一句话速记:B+ 树非叶节点仅存储键值与子节点指针,单页扇出较大,通常 3 层高度即可索引千万级数据并仅需 2~3 次磁盘 I/O,叶子节点的双向链表亦便于范围遍历。联合索引遵循最左匹配原则,跳过前导列会导致后续列无法利用有序性;对索引列进行函数操作、发生隐式类型转换、使用前缀模糊查询,或优化器评估全表扫描成本更低时,均会导致索引失效。

MySQL、索引

同章节的其他八股