一、用法及定義:
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
ref
#一般達到range等級就好,最好達到
possible:顯示可能套用到這張表的索引,一個或多個;查詢所涉及的欄位上若存在索引,則該索引會被列出,但不一定被查詢實際使用。
簡單說:MySQL推測,理論上可能用到的索引,但不一定被查詢實際使用
key:查詢實際用到的索引,如果為NULL,要么沒建要么沒用到,或索引失效
覆蓋索引:select後面查詢的欄位和所建複合索引的個數和順序一模一樣
如果理論上沒有,而key中出現了,則是使用了覆蓋索引
ref:顯示索引的哪一列被使用了
rows:越小越好
Extra:不要出現Using filesort[文件內排序],using index(索引掃描,出現好一點)
#二、作用:
################################## # ###### 實例:###############推薦mysql影片教學課程,網址:###https://www.php.cn/course/list/51. html######
以上是MySQL中的執行計劃explain詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!