MySQL-聚簇与二级索引
2026年10月16日·Admin·2 次浏览
MySQL 聚簇索引与非聚簇索引
InnoDB 聚簇索引(Clustered Index)
- 叶子节点存完整行数据;表按聚簇键物理/逻辑有序组织。
- 主键即聚簇索引;无显式主键时选第一个 UNIQUE 非空,再否则隐藏 row_id。
- 通过聚簇索引查行:索引即数据,通常一次树查找到叶子即可。
二级索引(Secondary / 非聚簇)
- 叶子存 索引列 + 主键值。
- 查到主键后通常要回表:再用主键查聚簇索引取整行。
对比(口述)
| 聚簇 | 二级索引 | |
|---|---|---|
| 叶子内容 | 整行 | 列 + PK |
| 回表 | 不需要(查 PK 本身) | 常需要 |
「修改聚簇索引 = 改主键」不严谨:改主键会重建表级数据组织,成本高,应谨慎设计主键。