b+樹的優勢在於查詢效率上,具體說明:
首先,b+樹的查詢和b樹一樣,類似於二叉查詢樹。起始於根節點,自頂向下遍歷樹,選擇其分離值在要查詢值的任意一邊的子指標。在節點內部典型的使用是二分查詢來確定這個位置。
(1)不同的是,b+樹中間節點沒有衛星資料(索引元素所指向的資料記錄),只有索引,而b樹每個結點中的每個關鍵字都有衛星資料;這就意味著同樣的大小的磁碟頁可以容納更多節點元素,在相同的資料量下,b+樹更加「矮胖」,io操作更少
(2)、其次,因為衛星資料的不同,導致查詢過程也不同;b樹的查詢只需找到匹配元素即可,最好情況下查詢到根節點,最壞情況下查詢到葉子結點,所說效能很不穩定,而b+樹每次必須查詢到葉子結點,效能穩定
(3)在範圍查詢方面,b+樹的優勢更加明顯
b樹的範圍查詢需要不斷依賴中序遍歷。首先二分查詢到範圍下限,在不斷通過中序遍歷,知道查詢到範圍的上限即可。整個過程比較耗時。
而b+樹的範圍查詢則簡單了許多。首先通過二分查詢,找到範圍下限,然後同過葉子結點的鍊錶順序遍歷,直至找到上限即可,整個過程簡單許多,效率也比較高。
b+樹相比b樹的優勢:
1.單一節點儲存更多的元素,使得查詢的io次數更少;
2.所有查詢都要查詢到葉子節點,查詢效能穩定;
3.所有葉子節點形成有序鍊錶,便於範圍查詢。
參考:
b 樹比b樹優勢以及索引
索引是一種利用某種規則的資料結構與實際資料的關係加快資料查詢的功能 索引資料節點中有著實際檔案的位置,因為索引是根據特定的規則和演算法構建的,在查詢的時候遵循索引的規則可以快速查詢到對應資料的節點,從而達到快速查詢資料的效果 索引結構上主要分為聚簇索引和非聚簇索引,聚簇索引是指索引的結構和排列規則是...
B樹,B 樹,B 樹,B 樹
小彰的部落格 b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點...
B樹 B 樹 B 樹 B 樹
b 樹即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left 和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就...