(1)單張表中索引數量不超過5個。
(2)單個索引中的字段數不超過5個。
(3)索引名必須全部使用小寫。
(4)非唯一索引按照“idx_字段名稱[_字段名稱]”進用行命名。例如idx_age_name。
(5)唯一索引按照“uniq_字段名稱[_字段名稱]”進用行命名。例如uniq_age_name。
(6)組合索引建議包含所有字段名,過長的字段名可以採用縮寫形式。例如idx_age_name_add。
(7)表必須有主鍵,推薦使用UNSIGNED自增列作爲主鍵。
(8)唯一鍵由3個以下字段組成,並且字段都是(整)(形)(時),可使用唯一鍵作爲主鍵。其他情況下,建議使用自增列或發號器作主鍵。
(9)禁止冗餘索引。
(10)禁止重複索引。
(11)禁止使用外鍵。
(12)聯表查詢時,JOIN列的數據類型必須相同,並且要建立索引。
(13)不在低基數列上建立索引,例如“性別”。
(14)選擇區分度大的列建立索引。組合索引中,區分度大的字段放在最前。
(15)對字符串使用前綴索引,前綴索引長度不超過8個字符。
(16)不對過長的VARCHAR字段建立索引。建議優先考慮前綴索引,或添加CRC32或MD5僞列並建立索引。
(17)合理創建聯合索引,(a,b,c) 相當於 (a) 、(a,b) 、(a,b,c)。
(18)合理使用覆蓋索引減少IO,避免排序。