在MySQL中 B树和B+树的区别,数据库为什么使用B+树而不是B树?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

Carice 2021-10-16 22:10:29 32

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

mysql使用是什么 web区别 b+树数据库区别 web数据库是什么 数据库mysql什么区别
分享到
取消 提交回答
全部回答(1)
  • 无敌小将
    2021-10-16 22:23:02

    您好,原因如下:

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

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

    2.1 B+树索引的所有数据均存储在叶子节点,而且数据是按照顺序排列的,链表连着的。那么B+树使得范围查找,排序查找,分组查找以及去重查找变得异常简单。
    2.2 B+树非叶子节点上是不存储数据的,仅存储键值,而B树节点中不仅存储键值,也会存储数据。innodb中页的默认大小是16KB,如果不存储数据,那么就会存储更多的键值,相应的树的阶数(节点的子节点树)就会更大,树就会更矮更胖,如此一来我们查找数据进行磁盘的IO次数有会再次减少,数据查询的效率也会更快.
    
    1 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程