sql查询 explain的详细用法

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第1张

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第2张

操作时间:寻道时间+旋转时间

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第3张

引入索引:采用二叉树结构

把第二列做为索引生成二叉树结构,此时查询89 只做了两次io操作

但是mysql 为什么不用二叉树作为底层索引结构?

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第4张

红黑树

hash

where col1 > 6 如果使用哈希结构无法使用索引

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第5张

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第6张

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第7张

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第8张

mysql B+ tree的每一个节点的大小正好是磁盘逻辑块的页大小 4kb。分配节点时不管用不用的了都正好分配1页的大小4kb,这样这些数据在物理磁盘上就是连续的。

叶子节点的指针利于预读操作。

mysql的索引文件到底存在哪里?

索引就是文件

默认存储引擎 innodb

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第9张

MYISAM:

后缀 .FRM表结构文件

后缀 .MYD数据文件

后缀 .MYI 索引文件

 深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第10张

 

 

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第11张

INODB:

.frm 表结构文件

.ibd 索引+数据

  深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第12张

 

 联合索引

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第13张

深入理解Mysql索引的底层数据结构 B+ Tree (2) Mysql 第14张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄