使用解釋函數explain,只需添加在sql語句之前即可:
表中的索引:
查看sql是否用到索引:
我們只需要注意一個最重要的type 的信息很明顯的提現是否用到索引:
type結果值從好到壞依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
一般來說,得保證查詢至少達到range級別,最好能達到ref,否則就可能會出現性能問題。
possible_keys:sql所用到的索引
key:顯示MySQL實際決定使用的鍵(索引)。如果沒有選擇索引,鍵是NULL
rows: 顯示MySQL認為它執行查詢時必須檢查的行數。
注意: 如遇到字段太長,添加不了索引,而又不能減小字段長度,則可以需要指定索引長度。
如:
CREATE INDEX 索引名稱 ON 表名 (字段名(size)) ;
CREATE INDEX IDX_ELEMENT_XXX ON table_element (xxx_id(200)) ;
給table_element表中的xxx_id字段添加指定200長度的索引IDX_ELEMENT_XXX