关注
hash虽然可以快速定位,但是没有顺序,IO复杂度高。如果只选一个数据,那确实是hash更快。但是数据库中经常会选择多条,这时候由于B+树索引有序,并且又有链表相连,它的查询效率比hash就快很多了。而且数据库中的索引一般是在磁盘上,数据量大的情况可能无法一次装入内存,B+树的设计可以允许数据分批加载,同时树的高度较低,提高查找效率。
hash表只能匹配是否相等,不能实现范围查找,因为原先是有序的键值,经过哈希算法后,有可能变成不连续的了,就没办法再利用索引完成范围查询检索。
当需要按照索引进行orderby的时候,hash值没办法支持排序,因为hash散列的特性,无法利用索引完成排序。
组合索引可以支持部分索引查询,如(a,b,c)的组合索引,查询中只用到了a和b也可以查询,如果使用hash表,组合索引会将几个字段合并hash,没办法支持部分索引。
当数据量很大的时候,hash冲突的概率也很大,特别是在有大量重复键值的情况下,哈希索引的效率是非常低的,因为存在哈希碰撞问题。
查看原帖
1 评论
相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
10-30 18:20
第一拖拉机制造厂拖拉机学院 C++
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找实习是选平台还是选业务? #
4052次浏览 48人参与
# 你的秋招白月光和意难平公司 #
1208次浏览 26人参与
# 百度秋招 #
54185次浏览 392人参与
# xxx岗位的一天 #
3656次浏览 46人参与
# 实习生如何通过转正 #
109952次浏览 1414人参与
# AI“智障”时刻 #
3183次浏览 31人参与
# 小红书开奖了 #
40345次浏览 199人参与
# 通信/硬件求职避坑tips #
123091次浏览 1053人参与
# 机械人,签完三方你在忙什么? #
69106次浏览 250人参与
# 十一月总结 #
5907次浏览 67人参与
# 产品面经 #
233157次浏览 2090人参与
# 从夯到拉,评价编程语言 #
1443次浏览 20人参与
# 你面试时吹过最大的牛 #
10533次浏览 46人参与
# 应届生第一份工作最好去大厂吗? #
94234次浏览 908人参与
# 每个月花钱最多的地方是? #
2298次浏览 27人参与
# 生化环材还是天坑吗 #
50297次浏览 325人参与
# 办公室恋情是职场大忌吗 #
11597次浏览 21人参与
# 想给25届机械人的秋招建议 #
36873次浏览 237人参与
# 我心目中的理想工作是这样的 #
87313次浏览 897人参与
# 材料转码还有必要吗? #
33405次浏览 155人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
142007次浏览 1215人参与
# 职场捅娄子大赛 #
433557次浏览 4172人参与