explain select* from xx
id
一組資料,表示任務被執行的順序,序號越大的任務越先執行.
select_type
******
不包含任何子查詢或union等查詢
primary
包含子查詢最外層查詢就顯示為 primary
subquery
在select或 where字句中包含的查詢
derived
from字句中包含的查詢
union
出現在union後的查詢語句中
union result
從union中獲取結果集,例如上文的第三個例子
type
const > eq_ref > ref > range > index > all
自左到右
,效能從最好到最差
all掃瞄全表資料
index使用索引
range索引範圍查詢
ref非唯一性索引掃瞄,返回匹配某個單獨值的所有行。常見於使用非唯一索引即唯一索引的非唯一字首進行的查詢
eq_ref唯一性索引掃瞄,對於每個索引鍵,表中只有一條記錄與之匹配。常見於主鍵或唯一索引掃瞄
const,system當mysql對查詢某部分進行優化,並轉換為乙個常量時,使用這些型別訪問
.null:mysql在優化過程中分解語句,執行時甚至不用訪問表或索引
MySQL中EXPLAIN命令詳解
explain顯示了mysql如何使用索引來處理select語句以及連線表。可以幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就可以了 如 explain select surname first name form a b where a id b id...
MySQL中EXPLAIN解釋命令
explain顯示了mysql如何使用索引來處理select語句以及連線表。可以幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就可以了 如 explain select surname,first name form a,b where a.id b.id...
MySQL中EXPLAIN解釋命令
explain顯示了mysql如何使用索引來處理select語句以及連線表。可以幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就可以了 如 explain select surname,first name form a,b where a.id b.id...