EXPLAIN_STATEMENT 表
EXPLAIN_STATEMENT 表には、 さまざまなレベルの Explain 情報に関する SQL ステートメントのテキストが入ります。
この表には、ユーザーが入力した元の SQL ステートメントと、 その SQL ステートメントを満たすアクセス・プランを選択するのに (オプティマイザーで) 使用されるバージョンとが保管されます。 後のバージョンは、書き直されているか、SQL コンパイラーで判別された追加の述部によって拡張されているため、元のバージョンとはあまり類似していないことがあります。 加えて、ステートメント・コンセントレーターが使用可能で、ステートメント・コンセントレーターの結果としてステートメントが変更された場合は、有効な SQL ステートメントもこの表に保管されます。このステートメントは元のステートメントに類似していますが、リテラル値がシステム生成の名前付きパラメーター・マーカーに置き換えられることが異なります。この場合、プラン情報は有効なステートメントに基づきます。
| 列名 | データ・タイプ | NULL 可能 | キー? | 説明 |
|---|---|---|---|---|
| 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 要求のソースのスキーマ、または修飾子。 |
| SOURCE_VERSION | VARCHAR(64) | いいえ | 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 ステートメントの数値 ID。 CLP または CLI を介して発行された動的 SQL ステートメントの場合 (EXPLAIN SQL ステートメントを除く)、 デフォルト値は 1 ずつ順番に大きくなる値です。 そうでない場合、デフォルト値は静的 SQL ステートメントでは STMTNO の値で、 動的 SQL ステートメントでは 1 です。 |
| QUERYTAG | CHAR(20) | いいえ | いいえ | Explain 対象の各 SQL ステートメントの ID タグ。 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 | いいえ | いいえ | このステートメントについて選択されたアクセス・プランの実行のための合計コストの見積もり (timeron 単位)。
EXPLAIN_LEVEL が O または E (オリジナルまたは有効なテキスト) の場合は、
この時点で選択されているアクセス・プランがないため、ゼロに設定されます。
|
| STATEMENT_TEXT | CLOB(2M) | いいえ | いいえ | Explain 対象の SQL ステートメントのテキスト、またはその一部。 Explain 機能のプラン選択またはセクションの Explain レベルで表示されるテキストは、 内部表記から再構成されたものであり、本質的に SQL ステートメントに類似したものです。 再構成されたステートメントは、正しい SQL 構文に必ず準拠しているとは限りません。 |
| SNAPSHOT | BLOB(10M) | はい | いいえ | 示されている Explain_Level での、
この SQL ステートメントの内部表記のスナップショット。
EXPLAIN_LEVEL が |
| QUERY_DEGREE | INTEGER | いいえ | いいえ | Explain の呼び出し時のパーティション内並列処理の度合い。 元のステートメントの場合、ここには指定された度合いのパーティション内並列処理が入ります。 元のステートメントでない場合、 ここには使用のプランに応じて生成されたパーティション内並列処理の度合いが入ります。 |