时间: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,无需回表,符合索引覆盖,效率较高。
mysql 14 覆盖索引+回表
标签:com 就是 路径 lazy name rom 很多 mys mysql