品易云推流 关闭
文章详情页
文章 > MySQL > mysql中哈希索引的使用限制

mysql中哈希索引的使用限制

mysql 哈希索引

头像

小妮浅浅

2021-06-22 09:49:003240浏览 · 0收藏 · 0评论

1、Hash索引应进行二次搜索。

使用哈希索引两次搜索,第一次找到相应的行,第二次读取数据,但频繁访问的行通常被存储在存储器中,对数据库性能的影响不大。

2、hash索引不能用于外部排名。

hash索引保存了hash代码而不是键,因此不能用于外部排名。

3、hash索引不支持部分索引搜索或范围搜索。

只能使用等值查询,不能进行范围和模糊查询。

4、hash索引中的hash码计算可能存在hash冲突。

hash冲突发生时,存储引擎必须经历整个链表中的所有指针,逐行比较,直到找到所有符合条件的行为。如果hash冲突较多,一些索引的维护成本很高,所以hash索引不适合选择性差的列(重复值较多)。姓名、性别、身份证(适当)

说到InnoDB的适应hash索引。在InnoDB注意到某些索引值被频繁使用的情况下,在内存中基于B-Tree索引创建hash索引,B-tree索引也具有hash索引的优点。这是一种完全自动的内部行为,用户无法控制或配置,但如有必要,可以完全关闭该功能。

以上就是mysql中哈希索引的使用限制,希望对大家有所帮助。更多mysql学习指路:MySQL

推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图