(四)深入浅出索引-2
程序员文章站
2022-04-05 22:54:48
...
select *fromTwhere k between 3 and 5
执行此条sql语句需要执行几次树的操作?会扫描多少行?以下时上句sql中的建表语句:
mysql> create table T (
ID int primary key,
k int NOT NULL DEFAULT 0,
s varchar(16) NOT NULL DEFAULT '',
index k(k))
engine=InnoDB;
下图是sql查询语句的在mysql Innodb中的存储状况:
以下是对上图的流程执行分析:
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,不满足条件,循环结束。
在这个过程中:回到 主键索引树 搜索的过程,我们称之为回表。
推荐阅读
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
Elasticsearch实战系列(四)--索引数据简述
-
SQL SERVER 2008 R2 重建索引的方法
-
Yii2的相关学习记录,自定义gii模板和引用vendor中的js、css(四) - 漫游云巅
-
java 四舍五入使java保留2位小数示例讲解
-
SpringBoot2 task scheduler 定时任务调度器四种方式
-
mysql 索引的基础操作汇总(四)
-
Outlook邮箱不能搜索邮件 Outlook索引不完整的四种解决办法
-
四川将新增2所高校!2所独立院校将转设为普通本科高校!
-
mssql 建立索引第1/2页