索引

本文深入探讨了数据库查询优化的关键——B+树。详细解释了B+树如何作为索引的底层数据结构,提升查询效率,尤其是在模糊查询和区间查找场景下。对比B树、哈希表和二叉搜索树,B+树在数据库应用中展现出独特优势。文章还分析了通过主键索引查询为何更高效。
摘要由CSDN通过智能技术生成
索引的背景是什么/索引解决了什么问题?

在进行数据库查找时避免进行遍历,优化查询速度(降低插入和删除速度)。

索引的工作原理

索引的底层数据结构是由B+树实现的,例如:
在这里插入图片描述
B+树是B树的更进一步,B树中非叶子结点可能会存储数据,B+树的非叶子结点只是用来辅助查找。
B+树的每一层兄弟节点之间都是相互连通的(类似于链表),遍历起来更方便,尤其是指定区间进行查找的时候。

B+树的相关特点:

  1. B+树与哈希表相比它可以实现数据库中的模糊查询情况
  2. B+树与二叉搜索树相比它的高度更低,查找效率更高
  3. B+树与B树相比查找效率更高速度更快
标题通过主键索引查询的效率要比通过其他列的索引查询效率更高

原因:主键索引中最终叶子结点上存的数据就是一条一条的记录,当一个表已经包含主键时,数据库天然就是通过B+树来组织所有记录的。而其他列上的索引叶子节点上存的实际上是对应记录的主键id。这就意味着通过其他列查找记录,需要查找两次,先在其他列的索引中找到对应记录的id,然后拿着id再去主键索引中查找(回表)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值