DSN_SORT_TABLE
ソート表 DSN_SORT_TABLE には、照会で必要なソート操作に関する情報が入っています。
修飾子
サブシステムまたはデータ共用グループには、ユーザー ID によって修飾されるこれらの表の複数インスタンスを含めることができます。 これらの表には、EXPLAIN ステートメントまたはバインドを発行する場合に、ステートメントのコスト情報が追加されます。 これらの表には、BIND コマンドまたは REBIND コマンドで EXPLAIN(YES) か EXPLAIN(ONLY) を指定した場合にも情報が追加されます。 SQL 最適化ツールも、ユーザー ID で修飾された EXPLAIN 表を作成する場合があります。 この表のインスタンスを作成するための SQL ステートメントは、SDSNSAMP ライブラリーのメンバー DSNTESC にあります。
サンプルの CREATE TABLE ステートメント
各 EXPLAIN テーブルのサンプル CREATE TABLE ステートメントは、 プレフィックス. SDSNSAMP ライブラリのメンバー DSNTESC にあります。 EXPLAINテーブルを現在の Db2 の形式にアップグレードするには、ADMIN_EXPLAIN_MAINTストアド・プロシージャを呼び出します。 ADMIN_EXPLAIN_MAINTは、EXPLAINテーブルを作成したり、現在の Db2 リリース用のフォーマットにアップグレードしたり、その他の保守作業を行うこともできます。 アクション入力パラメータを使用してこれらの各タスクを要求する方法については、 ADMIN_EXPLAIN_MAINTストアド・プロシージャを参照してください。 また、EXPLAINテーブルを現在の Db2 の形式にアップグレードするタスクのみを実行する場合は、ジョブDSNTIJXAを実行することもできます。 DSNTIJXA は REXX exec DSNTXTA を呼び出してアップグレードを実行する。 DSNTIJXA の実行に関する詳細については、「移行ステップ 25: EXPLAIN テーブルを現在の形式に変換する」を参照してください。
列の説明
次の表は、DSN_SORT_TABLE の列について説明しています。
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| QUERYNO | 非 NULL の整数 | 解釈されるステートメントを識別する番号。 元になる値は、行のコンテキストに応じて異なります。
QUERYNO の値がソース・プログラム内のステートメント番号に基づく場合、32767 を超える値は 0 として報告されます。 ただし、まれに、値が固有であることが保障されない場合があります。
|
| QBLOCKNO | SMALLINT NOT NULL | 照会内の各照会ブロックを識別する番号。 この番号の値は、特定の順序でもなければ、必ずしも連続していません。 |
| PLANNO | SMALLINT NOT NULL | プラン番号 (照会ブロックで各ミニ・プランの識別に使用される番号)。 |
| APPLNAME | VARCHAR(24) NOT NULL | 行のアプリケーション・プランの名前。 プランから実行される組み込み EXPLAIN ステートメント、またはプランのバインド実行時に解釈されるステートメントのみに適用される。 ブランクは、列が適用外であることを示します。
|
| PROGNAME | VARCHAR(128) NOT NULL | 解釈されているステートメントが含まれているプログラムまたはパッケージの名前。 組み込み EXPLAIN ステートメントと、プランまたはパッケージのバインド結果として
解釈されたステートメントに適用される。 ブランクは、列が適用外であることを示します。
|
| COLLID | VARCHAR(128) NOT NULL | コレクションID:
|
| SORTC | CHAR(5) NOT NULL WITH DEFAULT | 複合表のソートの理由を示します。 理由は以下の一連のバイトとして示されます。
|
| SORTN | CHAR(5) NOT NULL WITH DEFAULT | 新規表のソートの理由を示します。 理由は以下の一連のバイトとして示されます。
|
| SORTNO | SMALLINT NOT NULL | ソートのシーケンス番号。 |
| KEYSIZE | SMALLINT NOT NULL | ソート・キーの長さの合計。 |
| ORDERCLASS | INTEGER NOT NULL | IBM® 内部使用専用。 |
| EXPLAIN_TIME | TIMESTAMP NOT NULL | EXPLAIN 情報が収集された時刻:
|
| GROUP_MEMBER | VARCHAR(24) NOT NULL | EXPLAINを実行した Db2 のメンバー名。 EXPLAINが実行された際に、 Db2 サブシステムがデータ共有環境になかった場合、この列は空白になります。 |
| SECTNOI | INTEGER NOT NULL WITH DEFAULT | ステートメントのセクション番号。 値は SYSPACKSTMT または SYSSTMT の表の同じ列から取得され、表を結合してそのステートメントのアクセス・パスを再構成するために使用することができる。 この列は静的ステートメントのみに適用される。 -1 のデフォルト値は、 DB2® 9 またはそれ以前で取得されたEXPLAIN情報を示します。 |
| VERSION | varchar(122)notNULL、デフォルト | パッケージのバージョン ID。 パッケージから実行された組み込みの EXPLAIN ステートメントと、パッケージのバインド時に Explain されたステートメントにのみ適用されます。
ステートメントの値が空白です。![]() ![]()
SQLステートメントがコンパイルされたSQL関数またはネイティブSQLプロシージャに埋め込まれている場合、この列は関数またはプロシージャのバージョン識別子を示します。 SQLステートメントが高度なトリガーの本文に埋め込まれている場合、この列は使用されず、空白になります。![]() |
| EXPANSION_REASON | CHAR(2) NOT NULL WITH DEFAULT | この列は、アーカイブ表またはテンポラル表を参照するステートメントのみに適用されます。 他のステートメントについては、この列はブランクです。
CURRENT TEMPORAL BUSINESS_TIME 特殊レジスター、CURRENT TEMPORAL SYSTEM_TIME 特殊レジスター、および SYSIBMADM.GET_ARCHIVE 組み込みのグローバル変数の効果を示します。 これらの項目は、BUSTIMESENSITIVE、SYSTIMESENSITIVE、および ARCHIVESENSITIVE バインド・オプションによって制御されます。 以下の条件のいずれかに該当する場合、Db2 は特定の構文を暗黙的に照会に追加します。
この列は、次のいずれかの値を取ります。
|
PER_STMT_ID ![]() |
bigint not null ![]() |
Db2 カタログテーブル内のSQLステートメントの永続的なステートメント識別子。例えば、この列は、SQL ステートメントを識別する以下のカタログ表の列に対応します。
![]() |
AP_PLANID![]() |
CHAR(16) FOR BIT DATA![]() |
拡張タイムスタンプ値の形式で、SQL文のBINDまたはPREPARE最適化用の一意の識別子。![]() |