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