mysql二級索引


 

聚集索引葉子節點存放記錄

非聚集索引葉子節點存放key和主鍵信息
二級索引查找比聚集索引慢,需要回表
IOT表
拆表
人肉回表
myisam索引是堆表 也是有序的
myisam主鍵和唯一索引的效率相當,不需要再回表
數據文件地址修改了,IOT不需要修改
myisam適合讀的應用 innodb適合寫
IOT頁內記錄有序 頁與頁也邏輯有序,做range查詢很快
堆表記錄是無序的
復合索引 不一定b是不能查詢的,索引覆蓋
5.8做全局索引

multi range read(mrr)mysql5.6/mariadb5.3

加入b+樹的高度是3,每個頁存100頁記錄,走聚集索引只要100個頁(100次io)如果走二級索引,每個頁都要回一次表,每次有3個io,總共3萬次io
3+二級索引頁數+3*10000
5.5回表代價特別大
5.6mrr 隨機轉順序 空間換時間
放滿了排序 然后順序去查      這個內存有多大呢read_rnd_buffer_size(線程變量)
ssd多線程讀才能很大的iops
mysql一個查詢只有一個線程
io-bound sql
 
mrr_cost_based必須要關掉mrr才能生效
hexdump --help

innodb_sys_indexes innodb_sys_tables

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM