B 樹作為資料庫索引的一些感悟

2021-09-05 01:17:50 字數 309 閱讀 1059

---b+樹的原理和設計實質以及為什麼使用其作為索引的資料結構。

---b+樹的一些介紹。

b+早期也是由平衡二叉樹演化而來 ,底層的規則還是左結點的權值小於根結點,右結點的權值大於根結點,每層都是如此,b+設計出多路乙個根節點下可能有三個或者三個以上的子結點保證二叉樹的高度為盡可能的最低。平衡搜尋效率就會更快。資料庫中索引不使用hash是因為在搜尋乙個的情況下也許hash更快,但資料庫中經常查詢多條,這樣一來b+的威力就體現出來了。而且資料庫中的索引一般在磁碟上,資料量大的情況可能一次性無法裝入記憶體,b+的設計可以允許資料分批載入,同時樹的高度較低,查詢速度也比較快。

Mysql資料庫索引B 樹實現的一些學習筆記

innodb儲存引擎中有頁 page 的概念 頁是其磁碟管理的最小單位。innodb儲存引擎中預設每個頁的大小為16kb,可通過引數innodb page size將頁的大小設定為4k 8k 16k,在mysql中可通過如下命令檢視頁的大小 mysql show variables like inn...

資料庫索引 B樹索引

b樹索引能自動的保持和資料檔案大小相適應的索引層次。通過對所使用的儲存塊空間進行管理,使每個塊的充滿程度在半滿和全滿之間。這樣的索引不再需要溢位塊。b 樹的資料結構 通常b樹有三層 跟 中間層和葉。葉子節點是乙個塊,它儲存了n個 鍵值,資料記錄指標 對,外加乙個指向下乙個兄弟葉子節點的指標。葉子節點...

資料庫索引 B 樹

目錄特點 例項 查詢 插入 刪除 總結b 樹是b樹的變種,查詢效率比b更高。為什麼更高?往下看。參考 1.有k個子樹的中間節點包含有k個元素 b樹中是k 1個元素 每個元素不儲存資料,只用來索引,所有資料 都儲存在葉子節點。2.所有的葉子結點中包含了全部元素的資訊,及指向含這些元素記錄的指標,且葉子...