sql查詢 explain的詳細用法 操作時間:尋道時間+旋轉時間 引入索引:採用二叉樹結構 把第二列做為索引生成二叉樹結構,此時查詢89 只做了兩次io操作 但是mysql 為什麼不用二叉樹作為底層索引結構? 紅黑樹 hash where col1 > 6 如果使用哈希結構無法使用索引 mysql ...
sql查詢 explain的詳細用法
操作時間:尋道時間+旋轉時間
引入索引:採用二叉樹結構
把第二列做為索引生成二叉樹結構,此時查詢89 只做了兩次io操作
但是mysql 為什麼不用二叉樹作為底層索引結構?
紅黑樹
hash
where col1 > 6 如果使用哈希結構無法使用索引
mysql B+ tree的每一個節點的大小正好是磁碟邏輯塊的頁大小 4kb。分配節點時不管用不用的了都正好分配1頁的大小4kb,這樣這些數據在物理磁碟上就是連續的。
葉子節點的指針利於預讀操作。
mysql的索引文件到底存在哪裡?
索引就是文件
預設存儲引擎 innodb
MYISAM:
尾碼 .FRM表結構文件
尾碼 .MYD數據文件
尾碼 .MYI 索引文件
INODB:
.frm 表結構文件
.ibd 索引+數據
聯合索引