b树与b+树的区别

数据存储方式

B树:B树的每个节点既存储数据也存储索引。这意味着B树的非叶子节点既包含索引键也包含对应的数据。

B+树:B+树的非叶子节点仅存储索引键,而数据全部存储在叶子节点。B+树的所有叶子节点通过指针连接成一个有序链表,便于范围查询。

叶子节点关联性

B树:B树的叶子节点和非叶子节点没有直接关联,各自独立存在。

B+树:B+树的叶子节点之间通过链表相连,形成了一个有序的链表。这有助于范围查询,因为数据按顺序排列。

范围查询效率

B树:在B树上进行范围查询相对较慢,因为需要访问非叶子节点和叶子节点。

B+树:B+树在范围查询时非常高效,因为只需遍历叶子节点的链表。

非叶子节点的索引键

B树:非叶子节点的索引键可以是重复的,可能导致不必要的冗余数据。

B+树:B+树的非叶子节点的索引键一般是不重复的,确保了索引的唯一性。

叶子节点个数

B树:B树的叶子节点数量和数据记录数量相等。

B+树:B+树的叶子节点数量比数据记录数量多,因为叶子节点主要用于存储数据和维护链表,而非叶子节点用于索引。

B+树

图片[1]-b树与b+树的区别-不念博客

B树

图片[2]-b树与b+树的区别-不念博客
© 版权声明
THE END