Mysql中explain命令檢視執行計畫

2021-09-26 20:33:26 字數 895 閱讀 9020

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...