MySQL的Explain結果輸出項解釋
mysql> explain select * from aaa \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: aaa
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1
Extra: NULL
1 row in set (0.01 sec)
部分輸出項解釋如下:
select_type: 表示select的型別(SIMPLE=>簡單表,不使用表連線或者子查詢,PRIMARY=>主查詢,外層的查詢,UNION=>UNION中的第二個或者後面的查詢語句,SUBQUERY=>子查詢中的第一個select)
table; 輸出結果集的表
possible_keys: 表示查詢時,可能使用的索引
key: 表示實際使用的索引
key_len: 索引欄位的長度
rows; 掃描的行的數量
Extra: 執行情況的說明和描述
type: 表示表的連線型別,效能有好到差的連結型別為:
system=>只有一行,也就是常量表,
const=>單表中最多有一個匹配行,例如primary key或者unique index,
eq_ref=>對於前面的每一行,在此表中只查詢一條記錄,簡單來說,就是多表連線中使用primary key或者unique index,
ref=>與eq_ref類似,區別在於不是使用primay key或者unique index而是使用普通的索引,
ref_or_null=>與ref類似,區別在於條件中包含對null的查詢,
index_merge=>索引合併最佳化,
unique_subquery=>in的後面是一個查詢主鍵欄位的子查詢,
index_subquery=>與unique_subquery類似,區別在於in的後面是查詢非唯一索引欄位的子查詢,
range=>單表中的查詢範圍,
index=>對於前面的每一行,都透過查詢索引來得到資料,
all=>對於前面的每一行,都透過全表掃描來得到資料
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: aaa
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1
Extra: NULL
1 row in set (0.01 sec)
部分輸出項解釋如下:
select_type: 表示select的型別(SIMPLE=>簡單表,不使用表連線或者子查詢,PRIMARY=>主查詢,外層的查詢,UNION=>UNION中的第二個或者後面的查詢語句,SUBQUERY=>子查詢中的第一個select)
table; 輸出結果集的表
possible_keys: 表示查詢時,可能使用的索引
key: 表示實際使用的索引
key_len: 索引欄位的長度
rows; 掃描的行的數量
Extra: 執行情況的說明和描述
type: 表示表的連線型別,效能有好到差的連結型別為:
system=>只有一行,也就是常量表,
const=>單表中最多有一個匹配行,例如primary key或者unique index,
eq_ref=>對於前面的每一行,在此表中只查詢一條記錄,簡單來說,就是多表連線中使用primary key或者unique index,
ref=>與eq_ref類似,區別在於不是使用primay key或者unique index而是使用普通的索引,
ref_or_null=>與ref類似,區別在於條件中包含對null的查詢,
index_merge=>索引合併最佳化,
unique_subquery=>in的後面是一個查詢主鍵欄位的子查詢,
index_subquery=>與unique_subquery類似,區別在於in的後面是查詢非唯一索引欄位的子查詢,
range=>單表中的查詢範圍,
index=>對於前面的每一行,都透過查詢索引來得到資料,
all=>對於前面的每一行,都透過全表掃描來得到資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2132568/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL的EXPLAIN命令結果詳解MySqlAI
- MySQL執行計劃explain輸出列結果解析MySqlAI
- MySQL show status命令輸出結果詳解MySql
- 【執行計劃】格式化EXPLAIN PLAN的輸出結果AI
- mysql explain用法和結果的含義MySqlAI
- MySQL EXPLAIN結果集分析 - 附帶大量案例MySqlAI
- explain結果含義AI
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- LINUX中fdisk -l 輸出結果的解讀Linux
- Mysql效能最佳化(三)--explain返回的結果說明MySqlAI
- EXPLAIN結果含義(轉)AI
- MySQL的Explain總結MySqlAI
- 記錄輸出結果工具-script
- mysql匯出查詢結果MySql
- MySQL explain執行計劃詳細解釋MySqlAI
- filebeat輸出結果到elasticsearch的多個索引Elasticsearch索引
- MySQL Explain詳解MySqlAI
- MySQL EXPLAIN 詳解MySqlAI
- 詳解 MySQL 中的 explainMySqlAI
- Tkprof命令輸出的解釋:
- 關於disruptor的事件釋出的返回結果事件
- MySQL查詢結果匯出方式總結MySql
- ps aux查詢結果解釋UX
- MySQL explain命令詳解MySqlAI
- mysql explain 命令講解MySqlAI
- java中基本輸入輸出流的解釋Java
- VNPY 批量策略回測和統計結果的excel輸出Excel
- 各種UNIX平臺下vmstat與iostat輸出結果詳解iOS
- Mysql Explain 詳解 [原創]MySqlAI
- mysql匯出select結果到檔案MySql
- Mysql效能調優工具Explain結合語句講解MySqlAI
- MySQL explain結果Extra中"Using Index"與"Using where; Using index"區別MySqlAIIndex
- sqlplus格式化輸出(輸出結果顯示在同一行)SQL
- MySQL explain 中 key_len的詳解MySqlAI
- MySQL Explain的使用MySqlAI
- MySQL EXPLAIN 命令詳解學習MySqlAI
- MySQL explainMySqlAI
- mysql group by 取想要的結果MySql