深刻理解Mysql索引的底層數據結構 B+ Tree (2)

 

sql查詢 explain的詳細用法mysql

操做時間:尋道時間+旋轉時間sql

引入索引:採用二叉樹結構3d

把第二列作爲索引生成二叉樹結構,此時查詢89 只作了兩次io操做指針

可是mysql 爲何不用二叉樹做爲底層索引結構?blog

紅黑樹索引

hashhash

where col1 > 6 若是使用哈希結構沒法使用索引io

mysql B+ tree的每個節點的大小正好是磁盤邏輯塊的頁大小 4kb。分配節點時無論用不用的了都正好分配1頁的大小4kb,這樣這些數據在物理磁盤上就是連續的。innodb

葉子節點的指針利於預讀操做。二叉樹

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

索引就是文件

默認存儲引擎 innodb

MYISAM:

後綴 .FRM表結構文件

後綴 .MYD數據文件

後綴 .MYI 索引文件

 

 

 

INODB:

.frm 表結構文件

.ibd 索引+數據

  

 

 聯合索引

相關文章
相關標籤/搜索