1 使用字首索引的時候,需要定義好長度,能節省空間,又能減少查詢成本
選個合適的損失比例,然後接近這個損失比例的最小的mysql> select
count(distinct left(email,4))as l4,
count(distinct left(email,5))as l5,
count(distinct left(email,6))as l6,
count(distinct left(email,7))as l7,
from suser;
2 用字首索引就用不上覆蓋索引
3 使用倒序儲存
mysql> select field_list from t where id_card = reverse('input_id_card_string');
4 使用 hash 字段
mysql> alter table t add id_card_crc int unsigned, add index(id_card_crc);
mysql> select field_list from t where id_card_crc=crc32('input_id_card_string') and id_card='input_id_card_string'
mysql怎麼給字串欄位加索引?
案例 給郵箱加索引 普通索引,包含了每個記錄的整個字串 alter table user addindex index1 email 字首索引,對於每個記錄都是只取前 6 個位元組 alter table user addindex index2 email 6 字首索引 優點 占用空間比較小 缺點...
初學MySQL 如何給字串加索引?
例如對於乙個支援郵箱登入的系統,如何在這個欄位上建立合理的索引?在email欄位上建立索引的語句如下 alter table suser add index index1 email alter table suser add index index2 email 6 建立的index1索引中,包含...
mysql 學習(七)關於字串欄位加索引
整個email欄位新增索引add index index1 email 利用字首長度來新增索引add index index2 email 6 由於 email 6 這個索引結構中每個郵箱欄位都只取前 6 個位元組,所以占用的空間會更小,這就是使用字首索引的優勢,可能會增加額外的記錄掃瞄次數。通過下...