Mysql---回表

理解回表之前先了解聚餐索引和非聚簇索引:
聚餐索引
聚簇索引就是每张表构建一个B+树,每一个节点都是一页,叶子节点存放的是整张表的行记录,所以叶子节点也叫数据页

非聚餐索引:
非聚簇索引也是一棵B+树。我们通常所说的索引都是辅助索引,辅助索引其实就是非聚簇索引,因为其叶子节点并不存储行记录,而是存储主键值。

回表:
当我们使用辅助索引查询时,其实是先通过非聚簇索引查询到主键值,然后根据主键值去聚簇索引中查询实际的行记录,这个根据主键值去聚簇索引中查询的过程就叫做回表。

避免回表查询:
简单理解,回表就是查两次,先通过普通索引定位到主键值id;在通过聚集索引定位到行记录。所以如果是简单查询我们就可以使用主键索引来查询,直接可以返回整条记录行。如果是复杂查询,查询条件覆盖索引,返回被索引覆盖的字段

猜你喜欢

转载自blog.csdn.net/qq_45163910/article/details/107896746