1. 程式人生 > >深入理解Mysql索引的底層資料結構 B+ Tree (2)

深入理解Mysql索引的底層資料結構 B+ Tree (2)

 

sql查詢 explain的詳細用法

操作時間:尋道時間+旋轉時間

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

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

但是mysql 為什麼不用二叉樹作為底層索引結構?

紅黑樹

hash

where col1 > 6 如果使用雜湊結構無法使用索引

mysql B+ tree的每一個節點的大小正好是磁碟邏輯塊的頁大小 4kb。分配節點時不管用不用的了都正好分配1頁的大小4kb,這樣這些資料在物理磁碟上就是連續的。

葉子節點的指標利於預讀操作。

mysql的索引檔案到底存在哪裡?

索引就是檔案

預設儲存引擎 innodb

MYISAM:

字尾 .FRM表結構檔案

字尾 .MYD資料檔案

字尾 .MYI 索引檔案

 

 

 

INODB:

.frm 表結構檔案

.ibd 索引+資料

  

 

 聯合索引