当前位置:Gxlcms > 数据库问题 > mysql 14 覆盖索引+回表

mysql 14 覆盖索引+回表

时间:2021-07-01 10:21:17 帮助过:4人阅读

,需要扫码两遍索引树:

(1)右边的树(普通索引),先通过普通索引定位到主键值id=5;

(2)在通过主键的值在聚集索引的树里定位到行记录;

这就是所谓的回表查询先定位主键值,再定位行记录,它的性能较扫一遍索引树更低。

 

二、什么是索引覆盖****(Covering index)****?

    只需要在一棵索引树上就能获取SQL所需的所有列数据,无需回表,速度更快。

覆盖索引其实是索引覆盖的意思,索引字段就已经囊括select查询的字段,即索引字段覆盖了需查询的字段。

三、如何实现索引覆盖?

常见的方法是:将被查询的字段,建立到联合索引里去。

select id,name from user where name=‘shenjian‘;

能够命中name索引,索引叶子节点存储了主键id,通过name的索引树即可获取id和name,无需回表,符合索引覆盖,效率较高。


作者:Harri2012
链接:https://www.jianshu.com/p/8991cbca3854
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

mysql 14 覆盖索引+回表

标签:com   就是   路径   lazy   name   rom   很多   mys   mysql   

人气教程排行