首頁  >  文章  >  資料庫  >  MySQL中的執行計劃explain詳解

MySQL中的執行計劃explain詳解

藏色散人
藏色散人轉載
2020-03-24 08:55:132908瀏覽

一、用法及定義:

explain為sql的執行計劃、在sql前面加上explain關鍵字即可

如:explain select * from tbl_emp;

MySQL中的執行計劃explain詳解

名詞解釋:

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 

MySQL中的執行計劃explain詳解

#一般達到range等級就好,最好達到

 

possible:顯示可能套用到這張表的索引,一個或多個;查詢所涉及的欄位上若存在索引,則該索引會被列出,但不一定被查詢實際使用。

簡單說:MySQL推測,理論上可能用到的索引,但不一定被查詢實際使用

key:查詢實際用到的索引,如果為NULL,要么沒建要么沒用到,或索引失效

覆蓋索引:select後面查詢的欄位和所建複合索引的個數和順序一模一樣

如果理論上沒有,而key中出現了,則是使用了覆蓋索引

ref:顯示索引的哪一列被使用了

rows:越小越好

Extra:不要出現Using filesort[文件內排序],using index(索引掃描,出現好一點)

#二、作用:

  MySQL中的執行計劃explain詳解

MySQL中的執行計劃explain詳解

################################## # ###### 實例:###############推薦mysql影片教學課程,網址:###https://www.php.cn/course/list/51. html######

以上是MySQL中的執行計劃explain詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除