実行計画を得るには、SQL文の前にexplain
を置きます。
EXPLAIN SELECT 1
実行計画は、テーブル形式で表示されます(例では一部不要な列を消しています)。
~+-------+------+---------------+------+~+------+------------~
~| table | type | possible_keys | key |~| rows | Extra
~+-------+------+---------------+------+~+------+------------~
~| NULL | NULL | NULL | NULL |~| NULL | No tables...
~+-------+------+---------------+------+~+------+------------~
一番重要なのは、 TYPE
列です。MySQLのドキュメントではその列は「結合のタイプ」という
事になっていますが、実際にはデータがどのようにアクセスされるかを示すものなので、個人的には「アクセスタイプ」と表現するべきだと考えています。
それぞれのタイプの取り得る値については、次の節で説明します。
協力してください
この記事が気に入ったら、私の書いた本「SQLパフォーマンス詳解」や私によるトレーニングもきっと気にいるはず。