ADMIN_GET_TAB_DICTIONARY_INFO 表関数 - 既存の表ディクショナリーのプロパティーの報告
ADMIN_GET_TAB_DICTIONARY_INFO 表関数は、表ディクショナリーが作成されたときの、指定されたスキーマと表に関するクラシック行圧縮のディクショナリー情報を報告します。
注:
Db2® V11.1 モディフィケーションパック 4 フィックスパック 4 以降のリリースでは、この表関数は、カラム・オーガナイズ表のディクショナリー情報もレポートします。
これは、以前のバージョンの Db2 における非推奨 ADMIN_GET_TAB_COMPRESS_INFO 表関数の「REPORT」モードに直接置き代わるものです。
構文
スキーマは SYSPROC です。
表関数パラメーター
- tabschema
- スキーマ名を指定する、タイプ VARCHAR (128) の入力引数。
- tabname
- 表の名前、マテリアライズ照会表の名前、または階層表の名前を指定するタイプ VARCHAR(128) の入力引数。
許可
このルーチンを実行するには、以下のいずれかの権限が必要です。
- ルーチンに対する EXECUTE 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
デフォルトの PUBLIC 特権
なし
使用上の注意
- MP4FP4 までは、カラム・オーガナイズ表を指定した場合、この表関数は 0 行を戻します。MP4FP4 以降では、ADMIN_GET_TAB_DICTIONARY_INFO 表関数はカラム・オーガナイズ表にも適用されますが、OBJECT_TYPE、BUILDER、ROWS_SAMPLED、BUILD_TIMESTAMP、SIZE のみが入力されます。
- tabschema と tabname の両方が指定される場合、その特定の表の情報のみが戻されます。
- tabschema が指定され、tabname が空 (") または NULL の場合、指定したスキーマのすべての表に関する情報が戻されます。
- tabschema が空 (") または NULL で、tabname が指定される場合、エラーは戻されます。 特定の表の情報を取り出すには、その表がスキーマと表名の両方によって識別されることが必要です。
- tabschema と tabname の両方が空 (") または NULL の場合、すべての表の情報が戻されます。
- tabschema または tabname が存在しないか、あるいは tabname が表名 (タイプ T) またはマテリアライズ照会表名 (タイプ S) と一致しない場合、空の結果セットが戻されます。
- 指定された表に XML 列が 1 つ以上ある場合、 ADMIN_GET_TAB_DICTIONARY_INFO 表関数はパーティションごとに 2 行返します。OBJECT_TYPE として「DATA」を返す 1 行と、 OBJECT_TYPE として「XML」を返す 1 行です。指定された表に XML 列がない場合は、OBJECT_TYPE が「DATA」である行がパーティションごとに 1 行のみ返されます。
- ADMIN_GET_TAB_DICTIONARY_INFO 表関数が指定の表のデータを検索するとき、この表関数は SYSTABLES の対応する行に対する共有ロックを獲得します。これは、戻されるデータの整合性を確保するための動作です (例えば、情報の検索中に、検索されている表が変更されないようにするなど)。 ロックが保持されるのは、表関数の呼び出し期間中ではなく、表の圧縮情報を検索する間だけです。
戻される情報
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| TABSCHEMA | VARCHAR(128) | table_schema - 表スキーマ名モニター・エレメント |
| TABNAME | VARCHAR(128) | table_name - 表名モニター・エレメント |
| DBPARTITIONNUM | SMALLINT | dbpartitionnum - データベース・パーティション番号モニター・エレメント |
| DATAPARTITIONID | INTEGER | データ・パーティション番号。 |
| OBJECT_TYPE | VARCHAR(4) | オブジェクトのタイプ。
以下のいずれか
|
| ROWCOMPMODE | CHAR(1) | オブジェクトの現在の行圧縮モード。
戻されるメトリックは、以下のいずれかの値になります。
|
| BUILDER | VARCHAR(30) | ディクショナリーを作成するために使われるコード・パス。以下の値のいずれかになります。
|
| BUILD_TIMESTAMP | TIMESTAMP | ディクショナリーが作成された時刻のタイム・スタンプ。タイム・スタンプの細分性は秒単位です。 使用可能なディクショナリーがない場合、タイム・スタンプは NULL です。 |
| SIZE | BIGINT | バイト単位で測定されたエクスパンション・ディクショナリーのサイズ。履歴ディクショナリーが存在する場合、この値は現在のディクショナリー・サイズと履歴ディクショナリー・サイズの合計になります。 |
| HISTORICAL_DICTIONARY | CHAR(1) | 履歴ディクショナリーの存在を示します。
戻されるメトリックは、以下のいずれかの値になります。
|
| ROWS_SAMPLED | BIGINT | ディクショナリーの作成に寄与したレコードの数。 |
| PCTPAGESSAVED | SMALLINT | 圧縮により節約されるページのパーセンテージ。 この情報は、ディクショナリーの作成に寄与するレコードに基づく予測です。 |
| AVGCOMPRESSEDROWSIZE | SMALLINT | ディクショナリーの作成に役立っているレコードの平均圧縮レコード長。 |
例
例 1。 PAGECOMP スキーマの ADMIN_VIEW 表のディクショナリー情報レポートを表示します。
SELECT SUBSTR(TABSCHEMA, 1, 10) AS TABSCHEMA, SUBSTR(TABNAME, 1, 10) AS TABNAME,
DBPARTITIONNUM, DATAPARTITIONID, OBJECT_TYPE, ROWCOMPMODE, BUILDER,
BUILD_TIMESTAMP, SIZE, HISTORICAL_DICTIONARY, ROWS_SAMPLED,
PCTPAGESSAVED, AVGCOMPRESSEDROWSIZE
FROM TABLE( SYSPROC.ADMIN_GET_TAB_DICTIONARY_INFO( 'PAGECOMP', 'ADMIN_VIEW' ))この照会からの出力:
TABSCHEMA TABNAME DBPARTITIONNUM DATAPARTITIONID OBJECT_TYPE ROWCOMPMODE ...
---------- ---------- -------------- --------------- ----------- ----------- ...
PAGECOMP ADMIN_VIEW 0 0 DATA S ...
BUILDER BUILD_TIMESTAMP SIZE
------------------------------ -------------------------- -------------------- ...
REORG 2010-09-03-01.10.33.000000 52736 ...
HISTORICAL_DICTIONARY ROWS_SAMPLED PCTPAGESSAVED AVGCOMPRESSEDROWSIZE
--------------------- ------------ ------------- --------------------
N 300000 80 38
1 record(s) selected.