1.explain的使用方法
mysql中的explain命令顯示了mysql如何使用索引來處理select語句以及連接表。使用時直接在select語句前加上explain就行了。例子如下:
explain select * from orders;
運行結果如下:
創建索引後的運行結果如下:
2.explain每列的解釋
1)id:select識別符,這是select查詢序列號。
2)select_type:select的類型,可以有以下幾種:simple:簡單的select;primary:最外層的select;union:第二層,在select之後使用了union;subquery:子查詢中的第一個select。
3)table:記錄查詢引用的表。
4)type:表連接的類型。
5)possible_keys:指mysql在搜素表記錄時可能使用哪個索引。如果這個值爲null,則表示沒有索引被用到。
6)key:顯示了mysql實際上要用的索引。
7)key_len:顯示了mysql使用索引的長度。
8)ref:顯示了哪些字段或者常量被用來和key配合從表中查詢記錄出來。
9)rows:顯示了mysql認爲在查詢中應該檢索的記錄數。
10)extra:顯示了查詢中mysql的附加信息。