7.B树和B+树的区别

1.

B树的叶子节点不包含指针

B+树叶子节点包含指针

2.

B树所有节点不重复,都存储data

B+树重复,非叶子节点不存储data,只存储索引(冗余),可以放更多的索引,叶子节点包含所有的索引字段且存储data

3.

B+树的优势

b树在查询时的比较次数并不比二叉树少,尤其是节点中的数非常多时,但是内存的比较速度非常快,耗时可以忽略,所以只要树的高度低,IO少,就可以提高查询性能,这是b树的优势之一。

还要满足查找树的性质,所以对元素进行调整以满足大小关系,始终维持多路平衡也是b树的优势

 

 B+树比B树的查询优势:

https://www.chinaz.com/2020/0909/1182460.shtml

 

b+树相比于b树的查询优势:

  1. b+树的中间节点不保存数据,所以磁盘页能容纳更多节点元素,更“矮胖”;
  2. b+树查询必须查找到叶子节点,b树只要匹配到即可不用管元素位置,因此b+树查找更稳定(并不慢);
  3. 对于范围查找来说,b+树只需遍历叶子节点链表即可,b树却需要重复地中序遍历,如下两图:

 

posted on 2023-05-06 16:50  companion  阅读(132)  评论(0编辑  收藏  举报