首页 > 试题广场 >

请你说说数据库的索引是什么结构,为什么不用哈希表

[问答题]
请你说说数据库的索引是什么结构,为什么不用哈希表
使用B+树,配合数据页提升查询效率(I/O次数),和非叶子节点存储更多的数据,同时相邻叶子节点有指针相连,可以范围查找 不适用hash表的原因: 1.hash虽然查询高效,O(1),但是不能范围查询 2.hash需要解决hash冲突,hash表设置太大占内存....
发表于 2022-05-24 17:29:44 回复(0)
MySQL中的索引是采用B+树的,哈希表的查询效率很高,但是哈希表最大的问题就是不支持范围和顺序查找,还会产生哈希冲突问题
发表于 2022-06-10 13:29:11 回复(0)
哈希表查询只能精确查找,并且还可能引起哈希冲突。而B+树是叶子节点存放id数据,非叶子节点存放键值,查找效率高
发表于 2022-10-29 00:10:21 回复(0)
B+树,哈希的话数据量太大,不可能全部载入内存
发表于 2022-06-17 14:17:19 回复(0)
B树或B+树。hash表使用键值对的方式存储数据,不支持范围查找和顺序查找,而且需要考虑hash冲突问题
发表于 2022-06-24 11:09:17 回复(0)
数据表的索引结构是B+树,叶子节点存储数据并通过双向链表连接,使得查找速度很快且支持范围查找和顺序查找 hash表最大的问题是不支持范围查找和存在hash冲突,占据太大内存
编辑于 2024-04-03 17:07:28 回复(0)
B+树结构 Hash表不适用于范围查询,存在hash冲突,占据内存
编辑于 2024-03-17 14:51:31 回复(0)
数据表的索引结构是B+树,叶子节点存储数据并通过指针连接,使得查找速度很快且支持范围查找和顺序查找,hash表最大的问题是不支持范围查找和存在hash冲突,占据太大内存
发表于 2023-08-14 15:42:45 回复(0)
14
发表于 2023-03-10 16:23:01 回复(0)
MYSQL中的索引是基于B+树实现的;哈希表的查询效率的确最高,时间复杂度O,但是它要求将所有的数据载入内存,当数据量过大时全部载入内存是不可能实现的,而B+树可以分段加载需要的节点数据,可以再内存资源有限的前提下,极大提高查询效率
发表于 2023-02-08 15:13:44 回复(0)
hash虽然查找速度快,但他会把所有数据载入到内存中,而b+树是可以分段加载需要的数据。hash需要解决hash冲突的问题。hash不能提供范围查找
发表于 2022-11-18 16:40:15 回复(0)
hash结构与B+数结构;之所以不优先使用hash结构,是因为hash结构只在等值查询的时候才效率最高,范围查询的时候效率不高。而B+树,由于其非叶子节点不存数据,数据都存在叶子节点上,并且所有叶子节点形成链表,所以不论是等值查询,范围查询效率都很高。
发表于 2022-10-16 10:39:01 回复(0)
m
发表于 2022-10-12 15:39:09 回复(0)
数据库的索引用B+树,hash结构会把数据存放在内存,而b+树把索引存放在磁盘 hash表要解决hash冲突,开发过程中,大多数是范围查询,hash结构的等值查询才会高效,但是不能范围查询
发表于 2022-09-03 14:24:54 回复(0)
Mysql的索引结构时B+树,哈希表的问题很大,不支持范围和顺序查找,以及hash存在于内存中,内存空间有限
发表于 2022-08-16 20:10:35 回复(0)
B+树可以分段加载需要的节点数据
发表于 2022-08-12 22:56:23 回复(0)
- hash进行了散列化,不支持模糊查询 - hash可能会出现哈希碰撞,查询效率不稳定 - hash需要一次性加载到内存,b+树可以分段加载 - hash无法做到范围查找
发表于 2022-08-11 17:30:13 回复(0)
MySQL中的索引由B+树实现的。哈希表的查询效率的确最高,时间复杂度O(1),但是它要求将所有数据载入内存,而数据库存储的数据量级可能会非常大,全部载入内存基本是不可能实现的。B+树可以分段加载需要的节点数据,可以再内存资源有限的前提下,极大提供查询效率。
发表于 2022-07-25 13:39:48 回复(0)
数据库索引使用B+树;哈希表的查询效率是最高的,时间复杂度O(1),但是它要求将所有数据载入内存,而数据库存储的数据量级可能非常大,全部载入内存不现实,而且哈希表在大数据量的时候会有hash冲突,且不支持范围查找;B+树可以分段加载需要的节点数据,可以在内存资源有限的前提下,极大提高查询效率,B+树没有hash冲突,且为所有叶子节点增加了链接,从而实现快速范围查找。
发表于 2022-07-19 14:50:53 回复(0)
B+树是B树的变种,B树数据存放在叶子和非叶子节点,层级比较多,B+树数据只存储在叶子节点,并且叶子节点指向相邻的叶子节点.查询B树时相当于对每个节点进行二分查找,而B+树查找每次都会查找到叶子节点,查询性能相对稳定
编辑于 2022-07-14 19:50:34 回复(0)