12. explainのそれぞれの項目について (5)
● Extraフィールドに表示される代表的な追加情報を以下に挙げる。これらの情報は同時に複数表示される場合が
ある。
• Using where・・・頻繁に出力される追加情報である。WHERE句に検索条件が指定されており、なおかつインデック
スを見ただけではWHERE句の条件を全て適用することが出来ない場合に表示される。
• Using index・・・クエリがインデックスだけを用いて解決できることを示す。Covering Indexを利用している場合など
に表示される。
• Using filesort・・・filesort(クイックソート)でソートを行っていることを示す。
• Using temporary・・・JOINの結果をソートしたり、DISTINCTによる重複の排除を行う場合など、クエリの実行にテン
ポラリテーブルが必要なことを示す。
• Using index for group-by・・・MIN()/MAX()がGROUP BY句と併用されているとき、クエリがインデックスだけを用い
て解決できることを示す。
• Range checked for each record (index map: N)・・・JOINにおいてrangeまたはindex_mergeが利用される場合に表
示される。
• Not exists・・・LEFT JOINにおいて、左側のテーブルからフェッチされた行にマッチする行が右側のテーブルに存在
しない場合、右側のテーブルはNULLとなるが、右側のテーブルがNOT NULLとして定義されたフィールドでJOINさ
れている場合にはマッチしない行を探せば良い・・・ということを示す。
詳しくは以下をご確認ください:
https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#explain-extra-information (MySQL5.7)
https://dev.mysql.com/doc/refman/5.6/ja/explain-output.html#explain-extra-information (MySQL5.6; 日本語訳)