首页 > 代码库 > mysql-对于左前缀不易区分的列建立索引技巧

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-对于左前缀不易区分的列建立索引技巧