首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
为什么B+树适合数据库索引?
[问答题]
为什么B+树适合数据库索引?
查看答案及解析
添加笔记
求解答(2)
邀请回答
收藏(87)
分享
纠错
2个回答
添加回答
2
这是骐通
首先解释下为什么不用红黑树,B树,Hash表来
做索引
1.红黑树虽然是一颗自平衡数,而且性能很优秀,但是随着数据量的急速增加数的高度也在急速的增加,而树的高度正是我们要考虑的问题,每一层加载判断会先进行IO操作,IO是非常耗时的,所以我们不用红黑树来做数据库的索引.
2. B树的话虽然也可以控制层数(即IO操作的次数),但是他将数据都存储在了结点上,这样大大减少的一次IO读取数据的数量(一般一次为16k一个结点效率是最高的)而且当我们需要范围查找时,B数的弊端就显现出来了,不能范围查找!!
3. Hash表的查找是非常优秀的,增删改查时间复杂度都可以在常数时间内去完成(即时间复杂度O(1)),所以对于查找单个数据操作的Hash表性能是非常的优秀的,但我们大多时间都是范围查找,找多个数据,因此并不适合!
总结: B+数完美的解决了上述数据结构的不足的问题! 即平衡了效率(树的高度是可控的)又能查找范围性的数据~B+数的最低层用的是双向链表结构,故可以很好的范围性查找.
发表于 2020-08-13 17:34:59
回复(0)
0
古罗马哥哥古巴比伦
TCP/IP协议中,MSS和MTU分别工作在哪一层?
发表于 2020-04-26 19:02:55
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
哔哩哔哩
2019
数据库
Java工程师
操作系统
来自:
哔哩哔哩2019秋招技...
上传者:
小小
难度:
2条回答
87收藏
3142浏览
热门推荐
相关试题
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(2)
来自
职能类模拟题14
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
符合数据库设计第三范式(3NF)的...
数据库
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
哔哩哔哩
2019
评论
(16)
来自
哔哩哔哩2019秋招技术...
列举三种进程间通讯的方式 [$##$]
操作系统
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
哔哩哔哩
2019
评论
(2)
来自
哔哩哔哩2019秋招技术...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题