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+樹的聚集索引。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com