MySQL 索引底层原理:B + 树结构,通俗解析 前言面试必考底层原理很多人只会背概念不懂 B 树为什么适配 MySQL。一、B 树缺陷B 树每个节点存数据 索引范围查询需要多次 IO叶子节点无链表遍历麻烦。二、B 树核心结构InnoDB 默认非叶子节点只存索引键不存完整数据树高度更低IO 次数少所有真实数据全部存在叶子节点叶子节点双向有序链表范围查询、ORDER BY、分页遍历极快所有叶子节点高度统一查询性能稳定。三、聚簇索引 B 树主键作为排序键叶子节点直接存储完整行数据查询主键无需回表速度最快。四、二级索引 B 树存储索引字段 主键 ID命中索引后需要根据主键回表查询完整数据。五、为什么不使用哈希索引哈希仅等值匹配不支持范围查询、排序、分页哈希冲突性能下降InnoDB 默认不使用。六、索引树高度计算千万级数据 B 树高度一般 3~4 层仅需 3~4 次磁盘 IO 即可定位数据。