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性能