(三)B数、B+树及在数据库索引中应用

本文介绍了B树和B+树的特性及其在数据库索引中的应用。B树是一种多路平衡查找树,适用于文件系统和部分数据库索引,而B+树性能更高,其所有叶节点包含所有关键字信息,适用于范围查询。B+树的内部节点不存储关键字的具体信息,导致更少的I/O操作,查询效率更稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在算法逻辑上,二叉树的查找效率和比较次数都是最小的,但是在实际问题中,还要考虑磁盘IO.

数据库索引是存储在磁盘上的,当数据量比较大时,索引可能几个G。

当我们利用索引查询的时候,不能将整个索引全部加载到内存中,能做的只能是逐一加载每一个磁盘页,这里的磁盘页对应索引树的节点。

二叉查找数、平衡二叉树、红黑树是典型的二叉查找数结构,其查找的时间复杂度为O(log2N)与树的深度有关,所以降低树的深度自然能提高查找效率。

在实际场景中:大规模数据存储中,实现索引查询这样一个实际场景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而降低查询效率低下,所以就思考如何降低树的深度(当然不能减少查询的数据量),一个基本的想法是:采用多叉树结构

B树和B+树是平衡的多路查找树

一、B树

简单来说:B树是一种多路平衡查找树,它的每一个节点最多包含k个孩子,k也称为阶树。

k的大小取决于磁盘页的大小

  • 概念:B树和平衡
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值