by Hayato Matsuura.

実行計画の表示方法


実行計画を得るには、SQL文の前にexplainを置きます。

EXPLAIN SELECT 1

実行計画は、テーブル形式で表示されます (例では一部不要な列を消しています)。

~+-------+------+---------------+------+~+------+------------~
~| table | type | possible_keys | key  |~| rows | Extra
~+-------+------+---------------+------+~+------+------------~
~| NULL  | NULL | NULL          | NULL |~| NULL | No tables...
~+-------+------+---------------+------+~+------+------------~

一番重要なのは、 TYPE列です。MySQLのドキュメントではその列は「結合のタイプ」という 事になっていますが、実際にはデータがどのようにアクセスされるかを示すものなので、 個人的には「アクセスタイプ」と表現するべきだと考えています。 それぞれのタイプの取り得る値については、次の節で説明します。

著者について

Markus Winandの写真

Markus Winand氏は、開発者がSQLパフォーマンスを改善するお手伝いをしています。彼は、SQL Performance Explainedの 著者でもあり、出張トレーニングhttp://winand.at/での リモート講義も 行っています。

彼の本

カバー『SQLパフォーマンス詳解』

核心をわかりやすく 解説。

Markusから購入します
(送料無料+PDF)

Amazonで購入
(印刷版のみ)

“Use The Index, Luke!” by Markus Winand is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
法律上の通知 | 接触 | 無保証 | 商標 | Privacy | CC-BY-NC-ND 3.0 license