CS-Notes 学习笔记
Java 后端 · MySQL

聚簇索引和二级索引有什么区别?什么是回表?

先自己想一想,再看参考要点

参考要点

  • InnoDB 的聚簇索引就是主键索引(没有主键时用第一个非空唯一索引,再没有就用隐藏的行 ID),叶子节点保存整行数据,一张表只有一个
  • 二级索引的叶子节点保存索引列和主键值
  • 通过二级索引查其它列时,先查到主键,再到聚簇索引中查出整行,称为回表
  • 查询的列都在二级索引中时不需要回表(覆盖索引)
在学习站中自测这道题看这道题所在的一天

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。