数据库索引 - B树索引

B树索引能自动的保持和数据文件大小相适应的索引层次。通过对所使用的存储块空间进行管理,使每个块的充满程度在半满和全满之间。这样的索引不再需要溢出块。

B(+)树的数据结构:
通常B树有三层:跟、中间层和叶。
叶子节点是一个块,它存储了N个[键值,数据记录指针]对,外加一个指向下一个兄弟叶子节点的指针。叶子节点中的键值是稠密的。
中间层节点是一个块,它存储了M个[键值,指向自己子节点]对。中间层节点中的键值是稀疏的。
根节点是一个块,储存了I个键值,指向中间层节点]对。根节点中的键值是稀疏的。

B树的查找效率分析:
一个块中可以存储很多个[键值,指针]对,因此,三层的B树可以支持千万记录级别的数据表。
在这样的树中,精确查找一个数据记录指针只需要两次I/O。
树的叶子节点之间实际上组成了一个单向链表。通过扫描链表,可以实现范围查找。

B树的更新效率分析:
通过增加/删除叶子节点及其相互的引用指针,单向链表的数据结构高效的支持数据的插入和删除。当然,必要的时候需要更新中间节点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值