MySQL 聚簇索引和非聚簇索引有什么区别?

聚簇索引(主键索引)、非聚簇索引(二级索引)。

这两者之间的最主要的区别是 B+ 树的叶子节点存放的内容不同:

  • 聚簇索引的 B+ 树叶子节点存放的是主键值+完整的记录
  • 非聚簇索引的 B+ 树叶子节点存放的是索引值+主键值

在这里插入图片描述

在这里插入图片描述

所以,当在查询时使用了二级索引

如果查询的数据不在二级索引里,就会先检索二级索引,找到对应的叶子节点,获取到主键值后,然后再检索主键索引,就能查询到数据了,这个过程就是回表

如果查询的数据能在二级索引里查询的到,那么就不需要回表,这个过程就是覆盖索引

在这里插入图片描述

上一篇:深入理解Scikit-learn:决策树与随机森林算法详解


下一篇:WPF MVVM框架 Caliburn.Micro的Action绑定