InnoDB存储引擎为什么选择B+树作为存储结构--揭秘背后的逻辑

本文探讨了InnoDB存储引擎选择B+树作为存储结构的原因,对比了Hash、二叉树、AVL树、红黑树和B-树的优缺点。B+树通过将数据存储在叶子节点并使用链表连接,减少了IO次数,提高了查询性能,尤其适用于大数据量的存储需求。
摘要由CSDN通过智能技术生成

我们都知道InnoDB存储引擎的存储数据结构是B+树,那小伙伴们有没有想过,InnoDB存储引擎为什么要用B+树作为它的存储结构,而是用Hash,二叉树,AVL树,红黑树,B-树呢?

今天小编就来为大家梳理一下里面的逻辑。

Hash

Hash是什么?

Hash表又称散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。–《百度百科》

Hash特点是什么?
  1. 根据指定下标读取数据。
  2. 所有数据文件需要添加到内存,比较耗费内存空间。
  3. 精确查找速度快。
Hash存在什么问题?

如果所有的查询是等值查询,那么hash很快,如果是范围查询且较多的数据,hash不合适,因为hash要精确配置到每一个值,如果范围查询则需要逐个匹配。
在这里插入图片描述
思考:适合范围查询的数据结构有什么?

二叉树

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elsa~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值