使用explain命令能夠查看一條查詢語句的執行計劃,這篇文章記錄一下查詢計劃的各個屬性的值極其含義.html
那麼咱們按照圖中的順序逐個字段的看一下.mysql
本文采用官網的數據庫樣本,下載地址:MySQL官方數據庫sql
一組數據,表示任務被執行的順序,序號越大的任務越先執行.數據庫
id | select_type | description |
---|---|---|
1 | SIMPLE | 不包含任何子查詢或union等查詢 |
2 | PRIMARY | 包含子查詢最外層查詢就顯示爲 PRIMARY |
3 | SUBQUERY | 在select或 where字句中包含的查詢 |
4 | DERIVED | from字句中包含的查詢 |
5 | UNION | 出如今union後的查詢語句中 |
6 | UNION RESULT | 從UNION中獲取結果集,例如上文的第三個例子 |
查詢的數據表,當從衍生表中查數據時會顯示 x 表示對應的執行計劃id。學習
表的分區字段,沒有分區的話則爲null.優化
這條查詢語句訪問數據的類型.全部可取值的範圍:code
此次查詢可能使用的索引,可是不必定是真正使用的索引.orm
查詢真正使用的索引,若沒有使用索引,顯示爲NULL.cdn
使用索引的長度,在使用聯合索引的時候能夠根據這一列來推算使用了哪些最左前綴索引.htm
計算方式:
not null
,則須要加一個字節.表示上述表的鏈接匹配條件,即哪些列或常量被用於查找索引列上的值
返回估算的結果集數目,並非一個準確的值。
包含一些其餘信息,常見的有如下幾種:
以上皆爲我的所思所得,若有錯誤歡迎評論區指正。
歡迎轉載,煩請署名並保留原文連接。
聯繫郵箱:huyanshi2580@gmail.com
更多學習筆記見我的博客------>呼延十