EXPLAIN - 欄位說明解釋
mysql> explain select * from PROCESSLIST;
+----+------------+------+------------+------+--------------+----+---------+----+-----+--------+-------+
| id | select_type| table| partitions | type | possible_keys| key| key_len | ref| rows|filtered| Extra |
+----+------------+------+------------+------+--------------+----+---------+----+-----+--------+-------+
1 row in set, 1 warning (0.00 sec)
+----+------------+------+------------+------+--------------+----+---------+----+-----+--------+-------+
| id | select_type| table| partitions | type | possible_keys| key| key_len | ref| rows|filtered| Extra |
+----+------------+------+------------+------+--------------+----+---------+----+-----+--------+-------+
1 row in set, 1 warning (0.00 sec)
【id】 : 此數字表示執行select 操作表的順序,id越大最優先123的順序就是321
- 情況1:id相同,執行順序由上至下
- 情況2:id不同,如果是子查詢,id的序號會遞增,id值越大優先執行
- 情況3:id相同與不同都有,可認為是同一組,從上往下順序執行,id值越大則優先執行
- SIMPLE:簡單查詢,查詢中不含子查詢或UNION
- PRIMARY:查詢中若包含任何複雜的子部份,最外層的查詢則被標記為primary
- SUBQUERY:在select或where列表中包含子查詢
- DERIVED:衍生表,在FROM列表中包含的子查詢被標記為DERIVED,MYSQL會將歸類這些子查詢,於臨時表中