《第11講怎麼給字符串字段加索引》 讀書筆記

字符串字段索引問題

字符串佔空間比較大,如果用全匹配的索引,會導致一頁索引數量比較少,可能出現頻繁讀取磁盤表的問題。

前綴索引

腳本:alter table SUser add index index2(email(6));

優勢:節約空間,合理的前綴,可以增加辨識度,減少回表的行數。

缺點:由於引擎不知道前綴索引是否有截斷字段值,所以就算是前綴索引長度大於字段值,也會進行回表操作,從而使得回表功能無法使用。如果設計不合理的前綴長度,會導致額外的回表次數。

如何合理使用前綴索引

設置表辨別度高的索引

select count(distinct left(column,4))as L4, count(distinct left(column,5))as L5, count(distinct left(column,6))as L6, count(distinct left(column,7))as L7, from T;

通過上面的腳本可以判斷固定長度下字段相識的個數,個數越小,該長度辨別度越高。

其他方法:

1.使用倒序

2.使用hash計算hash值

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