首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说数据库的索引是什么结构,为什么不用哈希表
[问答题]
请你说说数据库的索引是什么结构,为什么不用哈希表
添加笔记
求解答(0)
邀请回答
收藏(71)
分享
纠错
21个回答
添加回答
25
半卷流年
使用B+树,配合数据页提升查询效率(I/O次数),和非叶子节点存储更多的数据,同时相邻叶子节点有指针相连,可以范围查找 不适用hash表的原因: 1.hash虽然查询高效,O(1),但是不能范围查询 2.hash需要解决hash冲突,hash表设置太大占内存....
发表于 2022-05-24 17:29:44
回复(0)
10
大哥们不要卷我
MySQL中的索引是采用B+树的,哈希表的查询效率很高,但是哈希表最大的问题就是不支持范围和顺序查找,还会产生哈希冲突问题
发表于 2022-06-10 13:29:11
回复(0)
3
神梦
哈希表查询只能精确查找,并且还可能引起哈希冲突。而B+树是叶子节点存放id数据,非叶子节点存放键值,查找效率高
发表于 2022-10-29 00:10:21
回复(0)
2
牛客_正
B+树,哈希的话数据量太大,不可能全部载入内存
发表于 2022-06-17 14:17:19
回复(0)
1
牛客793464225号
B树或B+树。hash表使用键值对的方式存储数据,不支持范围查找和顺序查找,而且需要考虑hash冲突问题
发表于 2022-06-24 11:09:17
回复(0)
0
钟情于风TuT
数据表的索引结构是B+树,叶子节点存储数据并通过双向链表连接,使得查找速度很快且支持范围查找和顺序查找 hash表最大的问题是不支持范围查找和存在hash冲突,占据太大内存
编辑于 2024-04-03 17:07:28
回复(0)
0
牛客380258662号
B+树结构 Hash表不适用于范围查询,存在hash冲突,占据内存
编辑于 2024-03-17 14:51:31
回复(0)
0
jdasji
数据表的索引结构是B+树,叶子节点存储数据并通过指针连接,使得查找速度很快且支持范围查找和顺序查找,hash表最大的问题是不支持范围查找和存在hash冲突,占据太大内存
发表于 2023-08-14 15:42:45
回复(0)
0
狗不言呆子与猫
14
发表于 2023-03-10 16:23:01
回复(0)
0
牛客871095908号
MYSQL中的索引是基于B+树实现的;哈希表的查询效率的确最高,时间复杂度O,但是它要求将所有的数据载入内存,当数据量过大时全部载入内存是不可能实现的,而B+树可以分段加载需要的节点数据,可以再内存资源有限的前提下,极大提高查询效率
发表于 2023-02-08 15:13:44
回复(0)
0
海盗小泽
hash虽然查找速度快,但他会把所有数据载入到内存中,而b+树是可以分段加载需要的数据。hash需要解决hash冲突的问题。hash不能提供范围查找
发表于 2022-11-18 16:40:15
回复(0)
0
牛客918060984号
hash结构与B+数结构;之所以不优先使用hash结构,是因为hash结构只在等值查询的时候才效率最高,范围查询的时候效率不高。而B+树,由于其非叶子节点不存数据,数据都存在叶子节点上,并且所有叶子节点形成链表,所以不论是等值查询,范围查询效率都很高。
发表于 2022-10-16 10:39:01
回复(0)
0
人中四
m
发表于 2022-10-12 15:39:09
回复(0)
0
黄俊忠
数据库的索引用B+树,hash结构会把数据存放在内存,而b+树把索引存放在磁盘 hash表要解决hash冲突,开发过程中,大多数是范围查询,hash结构的等值查询才会高效,但是不能范围查询
发表于 2022-09-03 14:24:54
回复(0)
0
勒布朗1234
Mysql的索引结构时B+树,哈希表的问题很大,不支持范围和顺序查找,以及hash存在于内存中,内存空间有限
发表于 2022-08-16 20:10:35
回复(0)
0
牛客339356230号
B+树可以分段加载需要的节点数据
发表于 2022-08-12 22:56:23
回复(0)
0
爱潜水的魔王
- hash进行了散列化,不支持模糊查询 - hash可能会出现哈希碰撞,查询效率不稳定 - hash需要一次性加载到内存,b+树可以分段加载 - hash无法做到范围查找
发表于 2022-08-11 17:30:13
回复(0)
0
别打小书包唉
MySQL中的索引由B+树实现的。哈希表的查询效率的确最高,时间复杂度O(1),但是它要求将所有数据载入内存,而数据库存储的数据量级可能会非常大,全部载入内存基本是不可能实现的。B+树可以分段加载需要的节点数据,可以再内存资源有限的前提下,极大提供查询效率。
发表于 2022-07-25 13:39:48
回复(0)
0
满脑子智慧
数据库索引使用B+树;哈希表的查询效率是最高的,时间复杂度O(1),但是它要求将所有数据载入内存,而数据库存储的数据量级可能非常大,全部载入内存不现实,而且哈希表在大数据量的时候会有hash冲突,且不支持范围查找;B+树可以分段加载需要的节点数据,可以在内存资源有限的前提下,极大提高查询效率,B+树没有hash冲突,且为所有叶子节点增加了链接,从而实现快速范围查找。
发表于 2022-07-19 14:50:53
回复(0)
0
〇Oo。
B+树是B树的变种,B树数据存放在叶子和非叶子节点,层级比较多,B+树数据只存储在叶子节点,并且叶子节点指向相邻的叶子节点.查询B树时相当于对每个节点进行二分查找,而B+树查找每次都会查找到叶子节点,查询性能相对稳定
编辑于 2022-07-14 19:50:34
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数据库
上传者:
real19931
难度:
21条回答
71收藏
1294浏览
热门推荐
相关试题
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
你说在销售运营这个岗位上会涉及到一...
评论
(1)
有20000人的就餐需求,现建了一...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题