一、用法及定義:
explain為sql的執行計劃、在sql前面加上explain關鍵字即可
如:explain select * from tbl_emp;

名詞解釋:
id:【操作表的順序】
1.id相同,表的執行順序從上往下依次執行
2.id不同,id越大的越先執行
3.id相同和不同的一起,越大的先執行,然后再按順序從上往下依次執行
select_type:查詢型別【區分簡單查詢,子查詢,聯合查詢】
一般有:SIMPLE[最簡答的sql查詢],PRIMARY[查詢中若包含任何復雜的子查詢,最外層查詢則被標記],
SUBQUERY[在select或where串列中包含子查詢]
UNION
.............
type:訪問型別【最好到最差】
system > const > eq_ref > ref > range > index> ALL

一般達到range級別就好,最好達到ref
possible:顯示可能應用到這張表的索引,一個或者多個;查詢涉及到的欄位上若存在索引,則該索引將被列出,但不一定被查詢實際使用,
簡單說:MySQL推測,理論上可能用到的索引,但不一定被查詢實際使用
key:查詢實際用到的索引,如果為NULL,要么沒建要么沒用到,或者索引失效
覆寫索引:select后面查詢的欄位和所建復合索引的個數和順序一模一樣
如果理論上沒有,而key中出現了,則是使用了覆寫索引
ref:顯示索引的哪一列被使用了
rows:越小越好
Extra:不要出現Using filesort[檔案內排序],using index(索引掃描,出現好一點)
二、作用:

實體:


轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/78564.html
標籤:MySQL
