B-樹、B+樹原理及區別


B樹又稱為B-樹、B_樹,B+樹是B-樹的變體。

B+樹相對於B-樹最大的特點是:查詢性能更高

原因:

也是B+樹和B-樹結構上的區別:

B-樹的元素分布在中間節點和葉子節點上。B+樹的所有元素都在同一層葉子節點上,且每一個葉子節點都有指向下一個節點的指針,形成有序鏈表。

  1.1.在查詢單行的時候,B-樹性能不穩定,可能第一層就是,可能到最底層;而B+樹是穩定的IO次數,因為必定要查到葉子節點上,中間全是索引

  1.2.在范圍查詢的時候(比如查3~11),B-樹就很麻煩了,要通過中序遍歷;而B+樹直接查最后一層的葉子節點就可以了。可以看下面兩個圖:

 

 

 

 參考: https://blog.csdn.net/qq_35571554/article/details/82759668

 

另外:B+樹由於中間節點沒有存行數據,所以占用內存更小,再進行IO時,一次性讀到內存中的節點更多,變相的減少了IO次數,所以也提升了IO性能


免責聲明!

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



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