1. 程式人生 > >B-樹,B+樹與B*樹的優缺點比較

B-樹,B+樹與B*樹的優缺點比較

首先注意:B樹就是B-樹,"-"是個連字元號,不是減號。 
B-樹是一種平衡的多路查詢(又稱排序)樹,在檔案系統中有所應用。主要用作檔案的索引。其中的B就表示平衡(Balance) 

B+樹有一個最大的好處,方便掃庫,B樹必須用中序遍歷的方法按序掃庫
,而B+樹直接從葉子結點挨個掃一遍就完了。 

B+樹支援range-query(區間查詢)非常方便,而B樹不支援。這是資料庫選用B+樹的最主要原因。 

比如要查 5-10之間的,B+樹一把到5這個標記,再一把到10,然後串起來就行了,B樹就非常麻煩。B樹的好處,就是成功查詢特別有利,因為樹的高度總體要比B+樹矮。不成功的情況下,B樹也比B+樹稍稍佔一點點便宜。 

B樹的優勢是當你要查詢的值恰好處在一個非葉子節點時,查詢到該節點就會成功並結束查詢,
而B+樹由於非葉節點只是索引部分,這些節點中只含有其子樹中的最大(或最小)關鍵字,當非終端節點上的關鍵字等於給點值時,查詢並不終止,而是繼續向下直到葉子節點。因此在B+樹中,無論查詢成功與否,都是走了一條從根到葉子節點的路徑。