聚簇索引和非聚簇索引¶
一、聚簇索引¶
叶子节点存整行数据。
- InnoDB 主键索引就是聚簇索引。
- 一张表只有一个。
二、非聚簇索引¶
叶子节点存主键值。
- 普通索引(二级索引)。
- 有多个。
三、区别¶
| 聚簇 | 非聚簇 | |
|---|---|---|
| 叶子存 | 整行 | 主键 |
| 数量 | 1 个 | 多个 |
| 查询 | 快 | 要回表 |
四、为什么 InnoDB 按主键组织¶
- 数据和索引放一起。
- 按主键查快。
五、MyISAM¶
MyISAM 没有聚簇索引,数据和索引分开存。
六、二级索引¶
二级索引叶子存主键,查数据要回表。
一句话
聚簇索引叶子存数据,非聚簇叶子存主键。