MySQL EXPLAIN命令的主要專案說明

chenfeng發表於2018-07-23

ID    SELECT命令的序號(通常為1,子查詢的話往往從序號2開始)


select_type

SIMPLE       單純的SELECT命令

PRIMARY      最外層的SELECT命令

UNION        由UNION語句連線的SELECT命令

DEPENDENT UNION   由UNION語句連線的SELECT命令(依賴外部查詢)

SUBQUERY     子查詢中的SELECT命令

DEPENDENT SUBQUERY 子查詢中的SELECT命令(依賴外部查詢)

DERIVED     派生表(FROM語句的子查詢)


Table  表名


type

表的連線型別(按效率的高低排序)

system  只存在一條記錄的表(=系統表)

const    常量,擁有PRIMARY KEY/UNIQUE制約的索引(結果總為1行)

eq_ref   連線時由PRIMARY KEY/UNIQUE列進行的等值查詢

ref      非UNIQUE列進行的等值查詢

ref_or_null     ref中加入了[~OR列名IS NULL]的檢索

range     使用索引檢查一定範圍的記錄(=,<>,>,>=,<,<=,IS NULL,<>,BETWEEN,IN等運算子)

index     全索引掃描

ALL       全表掃描


possible keys  檢索時可能使用到的索引(不存在索引時為NULL)

key  檢索時真實使用到的索引(未使用索引時為NULL)

key_len  使用的索引的關鍵字長度(單位為bytes)

Ref   需要時與比較的列,或者定製(const)

rows  需要遍歷的記錄數量

Extra  查詢時的追加資訊 (值為index時,使用了覆蓋索引,效能最好)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2158327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章