索引的選擇
了解了如何創建和刪除索引,及索引的類型後,就應該知道在哪些數據列上創建索引才是最佳的。有3種類型的列適合創建索引。
(1)在WHERE子句中常出現的列。
在查詢語句中,where條件子句的使用適合作為索引列。代碼如下:
Select user //該行不適合作索引
From shili
Where user='張三' //該行適合作索引
(2)在join子句中常出現的列。
經常出現在連接子句中的列,適合作索引。
(3)在經常進行排序或分組的(如group by或order by)列。
上述的3個方面只說明了適合作為索引的列,具體的應用還是要看在實際使用中的作用,還要考慮到操作符的類型,MySQL只對下面的操作符才使用索引。
>,=>,=,<,<=。
BETWEEN。
IN。
LIKE比較符是一個特殊情況,MySQL對其使用索引時,操作符不以通配符(%或者_)開頭。如執行一個查詢語句時,代碼如下:
Select id from user where user like 'h%' ;
它可以使用user上的索引,但是如果執行下面的代碼:
Select id from user where user like '%in' ;
就不會使用索引。