【面试干货】聚集索引和非聚集索引区别?
- 1、聚集索引(Clustered Index)
- 1.1 特点
- 1.2 例子
- 2、非聚集索引(Nonclustered Index)
- 2.1 特点
- 2.2 例子
- 3、根本区别
💖The Begin💖点点关注,收藏不迷路💖 |
1、聚集索引(Clustered Index)
1.1 特点
- 表记录的排列顺序和索引的排列顺序一致
- 查询效率高,因为找到第一个索引值记录后,其余记录在物理上也是连续存放的
- 修改数据时可能会导致数据页的重新排序,因此修改较慢
1.2 例子
聚集索引类似于新华字典中按照拼音排列去查找汉字,拼音检索表和实际书籍的排列顺序都是一致的。当需要查找特定拼音开头的字时,由于物理顺序和逻辑顺序一致,查询效率很高。
2、非聚集索引(Nonclustered Index)
2.1 特点
- 记录的逻辑顺序和索引的排列顺序一致,但物理上不一定连续
- 叶子层包含指向实际数据页中记录的指针,而非实际记录
- 修改数据时不会导致数据重排,因此修改效率较高
2.2 例子
非聚集索引类似在新华字典上通过偏旁部首来查询汉字,检索表按照笔画顺序排列,但实际书籍中按照拼音顺序排列。因为逻辑地址和物理地址不一致,所以查询效率相对较低。
3、根本区别
聚集索引和非聚集索引的根本区别在于:表记录的排列顺序与索引的排列顺序是否一致。
聚集索引的记录排列顺序与索引一致,而非聚集索引的记录逻辑顺序与索引一致,但物理上不一定连续。
💖The End💖点点关注,收藏不迷路💖 |