MySQL -- 理想的索引

1: 索引长度直接影响索引文件的大小,影响增删改的速度,并间接影响查询速度(占用内存多)

解决方案针对列中的值,从左往右截取部分,来建索引

: 截的越短, 重复度越高,区分度越小, 索引效果越不好

: 截的越长, 重复度越低,区分度越高, 索引效果越好,但带来的影响也越大--增删改变慢,并间影响查询速度

区分+ 长度  两者上,取得一个平衡

select count(distinct left(username,15))/count(*) from weibo;

 

2:对于左前缀不易区分的列 ,建立索引的技巧

http://www.baidu.com

解决方案

: 把列内容倒过来存储,并建立索引

moc.udiab.www//:ptth

这样左前缀区分度

: hash索引crc32(‘xx’)

同时存 url_hash

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章