type
Post
status
Published
date
Oct 15, 2026
slug
sql2
summary
tags
技术探索
category
手写
icon
password
聚簇索引: 索引和数据存储在一起,叶子节点存储完整的行数据。InnoDB 通常使用主键作为聚簇索引。
非聚簇索引(二级索引): 叶子节点存储索引字段和主键值,需要其他字段时再通过主键回表查询。
回表: 通过二级索引查询时,先找到对应的主键,再通过主键到聚簇索引中查找完整的行数据,这个过程叫回表。
覆盖索引: 查询需要的字段都能从索引中获取,不需要回表,可以减少磁盘 I/O,提高查询效率。
联合索引是对多个字段建立一个索引,底层也是 B+ 树,主要用于优化多条件查询。例如建立
(a, b, c) 联合索引,索引会先按照 a 排序,a 相同再按照 b 排序,最后按照 c 排序。联合索引遵循最左前缀原则,查询条件从最左侧字段开始匹配,通常能更充分地利用索引。回表:
假设执行:

为什么联合索引要遵循最左前缀原则?
因为联合索引的 B+ 树是按照字段从左到右依次排序的。
分享
