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

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

2021-10-16 22:10:29 466 1

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

取消 提交回答
全部回答(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
相关问答

1

回答

java中如何通过实体类名称获取对应的数据表名称?

2016-02-29 15:13:07 4546浏览量 回答数 1

1

回答

数据开发平台的使用(新手)提问

2016-05-18 18:03:20 2031浏览量 回答数 1

2

回答

DMS数据库导入出错

2017-06-13 22:36:03 2654浏览量 回答数 2

1

回答

java是使用什么数据库

2018-05-10 20:07:30 1902浏览量 回答数 1

5

回答

数据盘的使用问题。

2012-07-25 20:36:51 11127浏览量 回答数 5

0

回答

全量数据使用

2016-11-21 16:36:42 4372浏览量 回答数 0

0

回答

请问怎么使用天池平台数据集里的全量数据?

2016-10-28 10:47:50 8295浏览量 回答数 0

1

回答

B树和B+树的区别?

2020-03-31 10:51:15 829浏览量 回答数 1

1

回答

什么是数据使用?

2022-04-13 18:04:01 1161浏览量 回答数 1

1

回答

如果是Java程序,推荐使用什么数据库连接池?

2022-07-11 19:14:16 140浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
MySQL表和索引优化实战
立即下载
MySQL 5.7让优化更轻松
立即下载
从理论到实践,深度解析MySQL Group Replication
立即下载