標籤:com school src vertica 如何 data- 存在 表名 ica
MySQL執行計畫參數詳解轉http://www.jianshu.com/p/7134286b3a09
MySQL資料庫中,在SELECT查詢語句前邊加上“EXPLAIN”或者“DESC”關鍵字,即可查看該查詢語句的執行計畫,分析執行計畫是最佳化慢查詢的重要手段。如:
EXPLAIN SELECT * FROM school; DESC SELECT * FROM school;
執行結果:
執行計畫參數.png
接下來對這10個參數進行簡單解釋:
1、id:在整個查詢中SELECT的位置;
2、select_type:查詢的類型,包括沒有子查詢的簡單查詢、UNION、子查詢、外部查詢、外部查詢中的子查詢或FROM語句中的子查詢等;
3、table:所查詢的表名;
4、type:串連如何執行的情況。這裡存在很多值,範圍從const(最佳)到ALL(最差);
5、possible_keys:為了提高查詢速度,在MySQL中可以使用的索引;
6、key:實際使用的索引;
7、key_len:索引的長度;
8、ref:使用哪一列或常數與key一起從表中選擇行;
9、rows:MySQL需要在相應表中為了成功進行查詢,進行檢驗的行的數量。為了得出總行數,MySQL必須掃描處理整個查詢,再乘以每個表的行值;
10、Extra:其他資訊,涉及MySQL如何處理查詢,比如說,使用WHERE語句、使用一個索引、利用一個暫存資料表等;
其中select_type可以是:
SIMPLE
PRIMARY
UNION
DEPENDENT UNION
UNION RESULT
SUBQUERY
DEPENDENT SUBQUERY
DERIVED
type可以是:
system
const
eq_ref
ref
ref_or_null
index_merge
unique_subquery
index_subquery
range
index
ALL
Extra可以是:
Distinct
Not exists
range checked for each record (index map
Using filesort
Using index
Using temporary
Using where
Using sort_union(...), Using union(...), Using intersect(...)
Using index for group-by
MySQL執行計畫 EXPLAIN參數