mysql索引

B-樹結(jié)構(gòu)

image.png

1.葉子節(jié)點具有相同的高度,葉子節(jié)點的指針為空
2.節(jié)點中的數(shù)據(jù)索引從左到右遞增排列
3.所有節(jié)點都存儲data

B+樹結(jié)構(gòu)

image.png

1.非葉子節(jié)點不存儲數(shù)據(jù)
2.葉子節(jié)點包含所有索引字段
3.葉子節(jié)點之間通過索引連接,提高查詢性能。

Hash表

image.png

1.對索引求hash值就能查到對應(yīng)的buket
2.很多時候查詢效率比tree快,但僅能滿足=,in的查找
3.hash沖突問題

MyISAM存儲引擎

image.png

非聚集索引,索引和文件分離

InnoDB存儲引擎


image.png

1.數(shù)據(jù)本身按B+樹組織的索引結(jié)構(gòu)文件
2.聚集索引葉子節(jié)點包含所有數(shù)據(jù)
3.為什么推薦使用整形的自增Id?你不創(chuàng)建mysql自動幫你創(chuàng)建,增加數(shù)據(jù)庫的壓力,整形可以節(jié)省空間而且自增ID保證主數(shù)據(jù)遞增而且無重復(fù)。其次提高范圍查找效率,增加排序效率,提高掃表能力,順序訪問。如果主鍵是非自增 id,為了確保索引有序,mysql 就需要將每次插入的數(shù)據(jù)都放到合適的位置上。
4.為什么非主鍵索引葉子節(jié)點保存的是主鍵id?不應(yīng)考慮數(shù)據(jù)的一致性,而且可以節(jié)省索引的空間。

聯(lián)合索引

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容