查詢更快、占用空間更小
1、適合索引的列是出現where子句中的列,或者連接子句中指定的列。
2、基數較小的表,索引效果較差,所以數量較小的表沒有必要建立索引
3、使用短索引,如果對長字符串列進行索引,應該指定一個前綴長度,這樣能夠節省大量索引空間,如果搜索詞超出索引前綴長度,則使用索引排除不匹配的行,然后檢查其余行是否可能匹配。
4、不要過度使用索引。索引需要額外的磁盤空間,並降低寫操作性能。在修改表內容的時候,索引會進行更新甚至重構,索引列越多,這個時間就會越長。所以只保持需要的索引有利於查詢即可。
5、定義有外鍵的數據列一定要建立索引。
6、更新頻繁字段不適合創建索引
7、若是不能有效區分數據的列不適合做索引(如性別:男、女和未知,最多也就三種,區分度太低)
8、盡量擴展索引,不要新建索引。比如表中已經有a的索引,現在要加(a,b)的索引,那么只需要修改原來的索引即可。
9、對於那么查詢中很少涉及的列,重復值比較多的列不要建立索引。