B樹、B+樹、B*樹三者的對比詳解


轉載至:https://www.2cto.com/database/201805/745822.html

對比

  B+樹是B樹的變體,B*樹又是B+樹的變體,是一脈相承法治國拉的,不斷解決新一階段的問題。

  B樹解決的是能快速查詢到指定樹的問題和查詢一個數出現的頻率的問題。數據存在葉子節點和非葉子結點中。多路搜索的時候走的樹高度不高,所以查詢用的時間很短。

  B+樹適合掃庫,解決的是查詢某一范圍內的數據。它的數據只存在葉子結點中,非葉子結點存的是索引,所以顯而易見,B+樹不適合搜索某一特定的值,因為到葉子節點的路徑肯定要比B樹的非葉子結點要短;

  B*樹的空間利用率高。相比B+樹結點滿了就建新結點的做法,B*樹是先往兄弟結點中放,都放滿了再開辟新的結點,創建新結點少,所以空間利用率高。

小結

  就像事務的隔離級別一樣,一個級別的出現都是背負着解決上一個級別解決不了的問題的使命;B樹之間也是這樣,客觀要求不同了,數據結構也與時俱進。在mysql中用的就是B+樹的聚集索引。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM