在InnoDB存储引擎中,索引又可以分成聚簇索引和非聚簇索引(二级索引),它们区别就在于叶子节点存放的是什么数据:
- 聚簇索引的叶子节点存放的是实际数据,所有完整的用户记录都存放在聚簇索引的叶子节点;
- 二级索引的叶子节点存放的是主键值,而不是实际数据。
聚簇索引 B+Tree 如图所示,叶子节点存放索引+用户行记录。
![索引和数据库的源数据结构是耦合的吗? 图片[1]-索引和数据库的源数据结构是耦合的吗?-不念博客](https://www.bunian.cn/wp-content/uploads/2024/03/640-22.png)
二级索引的 B+Tree 如下图,子节点存放的是索引值+主键值,而不是实际数据。
![索引和数据库的源数据结构是耦合的吗? 图片[2]-索引和数据库的源数据结构是耦合的吗?-不念博客](https://www.bunian.cn/wp-content/uploads/2024/03/640-23.png)
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END
在InnoDB存储引擎中,索引又可以分成聚簇索引和非聚簇索引(二级索引),它们区别就在于叶子节点存放的是什么数据:
聚簇索引 B+Tree 如图所示,叶子节点存放索引+用户行记录。
二级索引的 B+Tree 如下图,子节点存放的是索引值+主键值,而不是实际数据。