怎麼給字串欄位加索引?

2021-09-12 21:00:58 字數 696 閱讀 3355

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 個位元組,所以占用的空間會更小,這就是使用字首索引的優勢,可能會增加額外的記錄掃瞄次數。通過下...