索引和数据库的源数据结构是耦合的吗?

在InnoDB存储引擎中,索引又可以分成聚簇索引和非聚簇索引(二级索引),它们区别就在于叶子节点存放的是什么数据:

  • 聚簇索引的叶子节点存放的是实际数据,所有完整的用户记录都存放在聚簇索引的叶子节点;
  • 二级索引的叶子节点存放的是主键值,而不是实际数据。

聚簇索引 B+Tree 如图所示,叶子节点存放索引+用户行记录。

图片[1]-索引和数据库的源数据结构是耦合的吗?-不念博客

二级索引的 B+Tree 如下图,子节点存放的是索引值+主键值,而不是实际数据。

图片[2]-索引和数据库的源数据结构是耦合的吗?-不念博客
© 版权声明
THE END