mysql在B-Tree上创建伪哈希索引

Posted wonkju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql在B-Tree上创建伪哈希索引相关的知识,希望对你有一定的参考价值。

  • 构建哈希的过程

 

  •  select过程

 

  • 长字符串下,构建索引可通过自定义哈希作为索引,本人通过实验,在3百多个数据记录的下,性能效果很明显,完全不是一个等级.以下为索引前后几种情况对比
  1. 无索引的url:直接通过无索引url

 

  1. 通过构建url的哈希索引:用bigint类型存储索引字段crc_url

在哈希索引下,几乎都是0秒完成.

 

 当然,如果直接使用url作为索引,即用B-Tree存储url存储的内容会很大.

 

此外,考虑到哈希可能冲突,所以需要另外加上url进行唯一匹配.

在where字句中,优化器会根据查询条件是否存在索引,优先进行索引查询. 如下为例子:

将无索引的url放在前面,跟放在后面,效果是一样的

 

 

 

以上是关于mysql在B-Tree上创建伪哈希索引的主要内容,如果未能解决你的问题,请参考以下文章

mysql-索引

mysql-索引

mysql-索引

聊聊MySQL几大索引类型:B-Tree索引,哈希索引,R-Tree空间数据索引,全文索引

什么是自适应哈希索引

MySQL索引 B+tree和hash