特定の検索条件を持つ SQL 文については、EXPLAIN 文を使用して、この SQL 文に対して SQL オプティマイザが選択する検索方針や、この検索方針のコストを確認することができます。
構文
EXPLAIN <query_statement>
EXPLAIN 文の結果はテーブルになります。
● STRATEGY 列は、この SQL 文に対して SQL オプティマイザが選択した検索方針と、結果テーブルの登録の有無を示します。
● PAGECOUNT 列は、選択した検索方針のコスト決定の結果を示します。
例
SQL オプティマイザを説明するために使用する例は、スキーマ HOTEL におけるデモデータベースDEMODB とその完全なデモデータにもとづいています。
データベースシステムのコンセプト、スキーマ HOTEL のオブジェクト
EXPLAIN
SELECT * FROM hotel.city
WHERE zip > '99000'
EXPLAIN 文の結果
OWNER |
TABLENAME |
COLUMN_OR_INDEX |
STRATEGY |
PAGECOUNT |
HOTEL |
CITY |
|
RANGE CONDITION FOR KEY |
11 |
|
|
ZIP |
(USED KEY COLUMN) |
|
|
|
|
RESULT IS NOT
COPIED、 |
|
これは、テーブルCITY には 11 ページあり、この SQL 文全体の実行による I/O コストは 1 ページであることを意味します。
EXPLAIN 文のいくつかの特殊機能については、以下のセッションで説明します。
その他の SQL 文の簡単な例については、SQL チュートリアルを参照してください。
参照:
SQL 参照マニュアル、EXPLAIN 文 (explain_statement)