首页 > 技术文章 > mysql在B-Tree上创建伪哈希索引

listened 2019-12-03 19:12 原文

  • 构建哈希的过程

 

  •  select过程

 

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

 

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

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

 

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

 

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

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

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

 

 

 

推荐阅读