mysql-对于左前缀不易区分的列建立索引技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-对于左前缀不易区分的列建立索引技巧相关的知识,希望对你有一定的参考价值。

例如:http://www.sina.com,http://www.baidu.com

前面10个字符都一样,建立索引得从第11个字符开始,比较浪费资源。下面介绍两个技巧解决这个问题:

1.倒序

将数据倒序排列:moc.anis.www//:ptth,这样建立索引时,无效长度将减小。

 

2.伪哈希技巧

IP地址我们在数据库是如下存储的,

id    url

1     http://www.baidu.com

 

现在将表结构改为如下:

id    url                                    urlcrc

1     http://www.baidu.com       9900090-90-8

 

其中urlcrc 是通过php内置函数crc32 计算出的值。其中crc32是一种哈希算法,能把字符串算为32位整数。

 

以上是关于mysql-对于左前缀不易区分的列建立索引技巧的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中联合索引的最左匹配原则(百度)

MySQL索引失效原因

Mysql防止索引失效原则

sql技巧

MySQL之SQL优化详解

MySQL 高级--优化 —— 创建索引原则使用场景和索引失效的情况