哈希索引只包含哈希值和行指针,而不存储字段值,所以不能使用索引中的值来避免读取行。 哈希索引数据并不是按照索引值顺序存储的,所以也就无法用于排序。 哈希索引也不支持部分索引列匹配查找,因为哈希索引始终是使用索引列的全部内容来计算哈希值的。 哈希索引只支持等值比较查询,包括=、IN()、<>(注意<>和<=>是不同的操作)。也不支持任何范围查询,例如WHERE price>100。 访问哈希索引的数据非常快,除非有很多哈希冲突(不同的索引列值却有相同的哈希值)。当出现哈希冲突的时候,存储引擎必须遍历链表中所有的行指针,逐行进行比较,直到找到所有符合条件的行。 如果哈希冲突很多的话,一些索引维护操作的代价也会很高。例如,如果在某个选择性很低(哈希冲突很多)的列上建立哈希索引,那么当从表中删除一行时,存储引擎需要遍历对应哈希值的链表中的每一行,找到并删除对应行的引用,冲突越多,代价越大。 —- 编译者/作者:嘿嘿嘿 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
hash索引的限制
2020-01-01 嘿嘿嘿 来源:区块链网络
- 上一篇:b树
- 下一篇:央行强调出台区块链等金融科技监管规则
LOADING...
相关阅读:
- 现在的币乎一点也不好玩,如果我是咕噜,币乎应该这样玩!2020-10-28
- 535期:不在你巅峰时慕名而来,也不会在你低谷时离你而去。2020-10-23
- 空投不能执着,但也不能忽视,空投信息哪来的?本体、UNI、DFINITY万元2020-10-23
- 530期:群友3.12抄底的比特币,以太坊,比特现金一个没出,波段也不愿2020-10-18
- 新索引显示了DeFi协议的风险2020-10-15