[mysql基礎]B+樹淺析

先拋幾個簡單問題吧

1.爲啥不用二叉樹,爲啥不用紅黑樹,爲啥不用B樹

2.爲啥正常情況下用B+ 不用hash

3.爲啥聚類索引推薦使用 自增的數字作爲主鍵

簡單說下第三個吧,uuid之類的對比起來性能比數字差,不是遞增的,後面的字符串可能會在之前的裏面

會打破之前的節點 大幅度改變B+樹的結構

 

B+特點

1.平衡性很好,深度不用很深 就能支持海量數據

2.葉子節點是有序的 鏈表結構

 

mysam和inno在索引上面的差異

inno的葉子節點直接存了數據

mysam的葉子節點存的是行數據的指針 

 

網上隨便搞了點圖 類似這樣