ADMIN_GET_TAB_COMPRESS_INFO 表関数 - 圧縮による節約の見積もり
ADMIN_GET_TAB_COMPRESS_INFO 表関数は、RESETDICTIONARY オプションを指定した REORG が実行されると仮定して、圧縮により得られる表の節約を見積もります。
この表関数は、以前のバージョンの Db2® における非推奨 ADMIN_GET_TAB_COMPRESS_INFO 表関数での「ESTIMATE」モードに直接置き代わるものです。
構文
スキーマは SYSPROC です。
表関数パラメーター
- tabschema
- スキーマ名を指定する、タイプ VARCHAR (128) の入力引数。
- tabname
- 表の名前、マテリアライズ照会表の名前、または階層表の名前を指定するタイプ VARCHAR(128) の入力引数。
許可
このルーチンを実行するには、以下のいずれかの権限が必要です。
- ルーチンに対する EXECUTE 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
デフォルトの PUBLIC 特権
なし
戻される情報
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| TABSCHEMA | VARCHAR(128) | table_schema - 表スキーマ名モニター・エレメント |
| TABNAME | VARCHAR(128) | table_name - 表名モニター・エレメント |
| DBPARTITIONNUM | SMALLINT | dbpartitionnum - データベース・パーティション番号モニター・エレメント |
| DATAPARTITIONID | INTEGER | データ・パーティション番号。 |
| OBJECT_TYPE | VARCHAR(4) |
オブジェクトのタイプ。
以下のいずれか
|
| ROWCOMPMODE | CHAR(1) | オブジェクトの現在の行圧縮モード。
戻されるメトリックは、以下のいずれかの値になります。
|
| PCTPAGESSAVED_CURRENT | SMALLINT | 行圧縮により節約されるページの現在のパーセンテージ。 |
| AVGROWSIZE_CURRENT | SMALLINT | 現在の平均レコード長。 |
| PCTPAGESSAVED_STATIC | SMALLINT | クラシック行圧縮により節約されるページのパーセンテージの見積もり。 |
| AVGROWSIZE_STATIC | SMALLINT | クラシック行圧縮による平均レコード長の見積もり。 |
| PCTPAGESSAVED_ADAPTIVE | SMALLINT | アダプティブ行圧縮により節約されるページのパーセンテージの見積もり。 |
| AVGROWSIZE_ADAPTIVE | SMALLINT | アダプティブ行圧縮による平均レコード長の見積もり。 |
使用上の注意
- ADMIN_GET_TAB_COMPRESS_INFO 表関数は行圧縮に固有のものであり、カラム・オーガナイズ表には適用されません。 カラム・オーガナイズ表を指定した場合、この表関数は 0 行を返します。
- tabschema と tabname の両方が指定される場合、その特定の表の情報のみが戻されます。
- tabschema が指定され、tabname が空 (") または NULL の場合、指定したスキーマのすべての表に関する情報が戻されます。
- tabschema が空 (") または NULL で、tabname が指定される場合、エラーは戻されます。 特定の表の情報を取り出すには、その表がスキーマと表名の両方によって識別されることが必要です。
- tabschema と tabname の両方が空 (") または NULL の場合、すべての表の情報が戻されます。
- tabschema または tabname が存在しないか、あるいは tabname が表名 (タイプ T) またはマテリアライズ照会表名 (タイプ S) と一致しない場合、空の結果セットが戻されます。
- ADMIN_GET_TAB_COMPRESS_INFO 表関数が指定の表のデータを検索するとき、この表関数は SYSTABLES の対応する行に対する共有ロックを獲得します。これは、戻されるデータの整合性を確保するための動作です (例えば、情報の検索中に、検索されている表が変更されないようにするなど)。 ロックが保持されるのは、表関数の呼び出し期間中ではなく、表の圧縮情報を検索する間だけです。
- 指定された表に XML 列が 1 つ以上ある場合、 ADMIN_GET_TAB_COMPRESS_INFO 表関数はパーティションごとに 2 行返します。OBJECT_TYPE として「DATA」を返す 1 行と、 OBJECT_TYPE として「XML」を返す 1 行です。指定された表に XML 列がない場合は、OBJECT_TYPE が「DATA」である行がパーティションごとに 1 行のみ返されます。
- XML オブジェクト・タイプの場合、PCTPAGESSAVED_ADAPTIVE および PCTPAGESSAVED_STATIC として戻される見積もりは等しくなります。アダプティブ圧縮は表のデータ部分にのみ適用されるからです。
例
例 1: SCHEMA1 スキーマの TABLE1 表の現在の圧縮結果と、クラシック行圧縮およびアダプティブ圧縮の両方の情報の見積レポートを表示します。
SELECT SUBSTR(TABSCHEMA, 1, 10) AS TABSCHEMA, SUBSTR(TABNAME, 1, 10) AS TABNAME,
DBPARTITIONNUM, DATAPARTITIONID, OBJECT_TYPE, ROWCOMPMODE,
PCTPAGESSAVED_CURRENT, AVGROWSIZE_CURRENT,
PCTPAGESSAVED_STATIC, AVGROWSIZE_STATIC,
PCTPAGESSAVED_ADAPTIVE, AVGROWSIZE_ADAPTIVE
FROM TABLE(SYSPROC.ADMIN_GET_TAB_COMPRESS_INFO('SCHEMA1', 'TABLE1'))この照会からの出力:
TABSCHEMA TABNAME DBPARTITIONNUM DATAPARTITIONID OBJECT_TYPE ROWCOMPMODE ...
---------- ---------- -------------- --------------- ----------- ----------- ...
SCHEMA1 TABLE1 0 0 DATA A ...
SCHEMA1 TABLE1 0 0 XML S ...
PCTPAGESSAVED_CURRENT AVGROWSIZE_CURRENT PCTPAGESSAVED_STATIC AVGROWSIZE_STATIC ...
--------------------- ------------------ -------------------- ----------------- ...
60 40 68 34 ...
58 255 62 198 ...
PCTPAGESSAVED_ADAPTIVE AVGROWSIZE_ADAPTIVE
---------------------- -------------------
70 30
62 198
2 record(s) selected.