首页 > 其他 > 详细

05 | 深入浅出索引(下)

时间:2019-10-29 15:20:21      阅读:93      评论:0      收藏:0      [点我收藏+]

一、需要回表的案例

前提建表语句

create table T (
ID int primary key,
k int NOT NULL DEFAULT 0, 
s varchar(16) NOT NULL DEFAULT ‘‘,
index k(k))
engine=InnoDB;

insert into T values(100,1, aa),(200,2,bb),(300,3,cc),(500,5,ee),(600,6,ff),(700,7,gg);

在上面表T中,执行下面的语句,需要执行几次树的搜索操作?会扫描多少行?

select * from T where k between 3 and 5;

二、这条语句的执行流程

技术分享图片

1、在k索引上找到k=3的记录,取得ID=300;
2、在ID索引树下查到ID=300对应的R3;
3、在k索引上找到k=5的记录,取到ID=500;
4、再回到ID索引树下查到ID=500对应的R4;
5、在k索引树取下一个值k=6,不满足条件,循环结束。

 

05 | 深入浅出索引(下)

原文:https://www.cnblogs.com/charon2/p/11758318.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!