EXPLAIN_STATEMENT 表には、 さまざまなレベルの Explain 情報に関する SQL ステートメントのテキストが含まれます。 この表には、ユーザーが入力した元の SQL ステートメントと、 その SQL ステートメントを満たすアクセス・プランを選択するのに (最適化プログラムで) 使用されるバージョンとが保管されます。 後のバージョンは、書き直されているか、 SQL コンパイラーで判別された追加の述部によって拡張されているか、またはその両方であるので、 元のバージョンとはあまり類似していないことがあります。
この表の定義については、EXPLAIN_STATEMENT 表の定義を参照してください。
列名 | データ・ タイプ | ヌル可能? | キー? | 説明 |
---|---|---|---|---|
EXPLAIN_REQUESTER | VARCHAR(128) | × | PK、 FK | この Explain 要求を開始した許可 ID。 |
EXPLAIN_TIME | TIMESTAMP | × | PK、 FK | Explain 要求の開始時刻。 |
SOURCE_NAME | VARCHAR(128) | × | PK、 FK | 動的ステートメントに Explain 要求を出したときに実行していたパッケージの名前、 または静的 SQL に Explain 要求を出したときのソース・ファイルの名前。 |
SOURCE_SCHEMA | VARCHAR(128) | × | PK、 FK | Explain 要求のソースのスキーマ、または修飾子。 |
EXPLAIN_LEVEL | CHAR(1) | × | PK | この行に関連する Explain 情報のレベル。
有効な値は次のとおりです。
|
STMTNO | INTEGER | × | PK | パッケージ内のステートメントのうち、この Explain 情報に関連するもののステートメント番号。 動的 Explain SQL ステートメントの場合は 1。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ視点で使用されているものと同じ。 |
SECTNO | INTEGER | × | PK | パッケージ内のセクションのうち、 この SQL ステートメントを含むもののセクション番号。 動的 Explain SQL ステートメントの場合、これは、 実行時にこのステートメントのセクションを保持するのに使用されるセクション番号。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ視点で使用されているものと同じ。 |
QUERYNO | INTEGER | × | × | Explain 対象の SQL ステートメントの数値識別子。 CLP または CLI を介して発行された動的 SQL ステートメントの場合 (EXPLAIN SQL ステートメントを除く)、 省略時値は 1 ずつ順番に大きくなる値です。 そうでない場合、省略時値は静的 SQL ステートメントでは STMTNO の値で、 動的 SQL ステートメントでは 1 です。 |
QUERYTAG | CHAR(20) | × | × | Explain 対象の個々の SQL ステートメントの識別子タグ。 CLP を介して発行された動的 SQL ステートメントの場合 (EXPLAIN SQL ステートメントは除く)、 省略時値は 'CLP' です。 CLI を介して発行された動的 SQL ステートメントの場合 (EXPLAIN SQL ステートメントは除く)、 省略時値は 'CLI' です。 そうでない場合は、省略時値にはブランクを使用します。 |
STATEMENT_TYPE | CHAR(2) | × | × | Explain 対象の照会のタイプに関する記述ラベル
可能な値は以下のとおりです。
|
UPDATABLE | CHAR(1) | × | × | このステートメントが更新可能であるとみなされるかどうかを示します。
これは特に、潜在的に更新可能であるとみなされることのある SELECT ステートメントに関係しています。
可能な値は以下のとおりです。
|
DELETABLE | CHAR(1) | × | × | このステートメントが更新可能であるとみなされるかどうかを示します。
これは特に、潜在的に削除可能であるとみなされることのある SELECT ステートメントに関係しています。
可能な値は以下のとおりです。
|
TOTAL_COST | DOUBLE | × | × | このステートメントについて選択されたアクセス・プランの実行のための合計コストの見積もり (タイマーオン単位)。 EXPLAIN_LEVEL が O (オリジナル・テキスト) の場合は、 この時点で選択されているアクセス・プランがないため、ゼロに設定されます。 |
STATEMENT_TEXT | CLOB(1M) | × | × | Explain 対象の SQL ステートメントのテキスト、またはその一部。 Explain のプラン選択レベル用に示されたテキストは、 内部表示から再構成されており、 実際は SQL に類似しています。つまり、再構成されたステートメントは、 正しい SQL 構文に従うことは保証されていません。 |
SNAPSHOT | BLOB(10M) | ○ | × | 示されている Explain_Level での、
この SQL ステートメントの内部表示のスナップショット。
この列は、DB2 Visual Explain 製品での使用を意図しています。 EXPLAIN_LEVEL が 0 (オリジナル・テキスト) の場合は、 ステートメントのこの特定バージョンが取り込まれた時点でアクセス・プランが選択されていないため、 この列はヌルに設定されます。 |
QUERY_DEGREE | INTEGER | × | × | Explain の呼び出し時の区画内並列性の度数。 元のステートメントの場合、ここには区画内並列性の指定された度数が入ります。 PLAN SELECTION の場合、 ここには使用のプランに応じて生成された区画内並列性の度数が入ります。 |