1. 使用方式
1.1 全字段加索引
給整個字段加索引,索引存儲整個字段的值。
數據量較小時,查詢成本高,准確度高;
數據量較大時,比較耗費空間;
1.2 前綴索引
MySQL支持前綴索引,可以定義字符串的前面的一部分字節作為索引。
查詢成本低,比較節省空間;
使用前綴索引查詢時,每次遇到符號查詢條件的記錄都要回表判斷一次,增加查詢語句讀數據的次數,也就是增加掃描行數;
使用前綴索引時無法使用覆蓋索引對查詢的性能優化;
2. 使用技巧
沒有絕對的技巧,使用時要根據具體情況具體分析。以下技巧僅供參考:
2.1 倒序存儲
存儲學號時,比如201306070110。前四個字節表示入學年份,區分度較低,此時可以采用倒序存儲,然后再使用前綴索引的方式提高查詢效率;
2.2 hash字段
存儲郵箱時,比如 streamXXX@email.com,此時正序和倒序的區分度都比較低,這時就可以考慮hash字段的方式,不過這樣就要添加一個字段存儲hash后的值。