page contents

B树和B+树的区别,数据库为什么使用B+树而不是B树?

轩辕小不懂 发布于 2021-06-24 11:58
阅读 640
收藏 0
分类:数据库
1114
Nen
Nen
- 程序员

在B树中,键和值即存放在内部节点又存放在叶子节点;在B+树中,内部节点只存键,叶子节点则同时存放键和值。

B+树的叶子节点有一条链相连,而B树的叶子节点各自独立的。

B+树索引的所有数据均存储在叶子节点,而且数据是按照顺序排列的,链表连着的。那么B+树使得范围查找,排序查找,分组查找以及去重查找变得异常简单。.

B+树非叶子节点上是不存储数据的,仅存储键值,而B树节点中不仅存储键值,也会存储数据。innodb中页的默认大小是16KB,如果不存储数据,那么就会存储更多的键值,相应的树的阶数(节点的子节点树)就会更大,树就会更矮更胖,如此一来我们查找数据进行磁盘的IO次数有会再次减少,数据查询的效率也会更快.

请先 登录 后评论