聚簇索引(主键索引)、非聚簇索引(二级索引)。
这两者之间的最主要的区别是 B+ 树的叶子节点存放的内容不同:
- 聚簇索引的 B+ 树叶子节点存放的是主键值+完整的记录;
- 非聚簇索引的 B+ 树叶子节点存放的是索引值+主键值;
所以,当在查询时使用了二级索引
如果查询的数据不在二级索引里,就会先检索二级索引,找到对应的叶子节点,获取到主键值后,然后再检索主键索引,就能查询到数据了,这个过程就是回表。
如果查询的数据能在二级索引里查询的到,那么就不需要回表,这个过程就是覆盖索引。
2024-07-15 08:54:01
聚簇索引(主键索引)、非聚簇索引(二级索引)。
这两者之间的最主要的区别是 B+ 树的叶子节点存放的内容不同:
所以,当在查询时使用了二级索引
如果查询的数据不在二级索引里,就会先检索二级索引,找到对应的叶子节点,获取到主键值后,然后再检索主键索引,就能查询到数据了,这个过程就是回表。
如果查询的数据能在二级索引里查询的到,那么就不需要回表,这个过程就是覆盖索引。