标签: 性能优化
MySQL 索引原理与最佳实践
索引是 MySQL 查询性能的决定性因素。理解 InnoDB 的 B+Tree 索引结构,才能写出真正命中索引的 SQL。 B+Tree 与聚簇索引 InnoDB 使用 B+Tree 组织索引,其特点是非叶子节点只存索引键用于导航,所有数据都落在叶子节点,且叶子节点通过双向链表串联,非常适合范围扫描。 InnoDB 的主键索引是聚簇索引,叶子节点直接存放整行数据;二级索引的叶子节点存放「索引键 + 主键值」。因此通过二级索引查询非索引列时,需要再用主键回表查聚簇索引。 回表与覆盖索引 当查询的列 …
索引是 MySQL 查询性能的决定性因素。理解 InnoDB 的 B+Tree 索引结构,才能写出真正命中索引的 SQL。 B+Tree 与聚簇索引 InnoDB 使用 B+Tree 组织索引,其特点是非叶子节点只存索引键用于导航,所有数据都落在叶子节点,且叶子节点通过双向链表串联,非常适合范围扫描。 InnoDB 的主键索引是聚簇索引,叶子节点直接存放整行数据;二级索引的叶子节点存放「索引键 + 主键值」。因此通过二级索引查询非索引列时,需要再用主键回表查聚簇索引。 回表与覆盖索引 当查询的列 …