BLOCKCOMPRESSION - Teradata Database - Teradata Vantage NewSQL Engine - BLOCKCOMPRESSIONオプション、CREATE TABLE SQL文。

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

テーブル データは、ブロック レベルで圧縮されます。

このオプションを指定して、グローバル一時テーブルまたは揮発テーブルの定義を変更することはできません。

詳細は、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「CREATE TABLE (テーブルのオプション句)」を参照してください。 DBS制御フィールドの情報については、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

AUTOTEMP
ブロック レベルの圧縮は、データが格納されているシリンダの温度に基づいて適用されます。テーブルに対するブロック レベル圧縮の設定が、Teradata Virtual Storageの温度に基づいてファイル システムによって決定されます。さまざまなしきい値の定義は、DBS制御フィールドのTempBLCThreshによって決定されます。SET QUERY_BANDを使用してロードされるデータの温度値を調整できます。例: BLOCKCOMPRESSIONとTVSTEMPERATUREのクエリー バンドの設定を参照してください。
MANUAL
テーブルが作成された時点でのテーブルのデフォルトに基づいて、ブロック レベル圧縮が適用されます。テーブルのデフォルトは、DBS制御フィールドの圧縮グループの設定で決まります。SET QUERY_BANDを使用してこれらの値を上書きできます。例: 予約クエリー バンドBLOCKCOMPRESSIONの使用を参照してください。
テーブルの圧縮または圧縮解除は、ロード後の任意の時点で、Ferret COMPRESSコマンドとUNCOMPRESSコマンドを使用することで可能になります。
ALWAYS
テーブルとそのサブテーブルは、クエリー バンドや該当するDBS制御のブロック レベル圧縮の設定で圧縮するように指定されていなくても、常にブロック レベル圧縮されます。 DBS制御フィールドのBlockLevelCompressionを有効にする必要があります。
NEVER
テーブルとそのサブテーブルは、クエリー バンドや該当するDBS制御のブロック レベル圧縮の設定で圧縮するように指定されていても、ブロック レベル圧縮されません。
DEFAULT
DBS制御フィールドのDefaultTableModeに設定されたブロック レベル圧縮がテーブルに使用されます。

BLOCKCOMPRESSIONALGORITHM

ブロック レベルの圧縮 (BLC) に使用するアルゴリズムを指定します。

このオプションは、有効なBLOCKCOMPRESSIONがMANUAL、AUTOTEMP、またはALWAYSの場合にのみ適用されます。

ZLIB
zlibソフトウェア アルゴリズムを使用したブロック レベルの圧縮
ELZS_H
システムのすべてのノードでハードウェア圧縮エンジン ボードを使用するブロック レベルの圧縮
DEFAULT
DBS制御フィールドのCompressionAlgorithmの設定を使用します。

BLOCKCOMPRESSIONLEVEL

値を指定して、圧縮速度または圧縮効果の優先度を示します。このオプションは、BLOCKCOMPRESSIONALGORITHMオプションがZLIBに設定されている場合にのみ適用されます。このオプションはBLOCKCOMPRESSIONALGORITHM = ELZS_Hとの組み合わせで受け入れられますが、このオプションは無視されます。BLOCKCOMPRESSIONALGORITHMをZLIBに変更すると、このオプションが有効になります。

value
1~9の整数。1はプロセッサの使用率が最も低い圧縮速度の指定で圧縮比は最低、9はプロセッサの使用率が最も高い圧縮速度の指定で圧縮比は最高になります。
DEFAULT
テーブルは、DBS制御フィールドのCompressionLevelの圧縮レベル設定を使用します。

例: ブロックレベル圧縮をALWAYSに設定

この例では、常に圧縮レベルが8のzlib圧縮アルゴリズムを使用して、ブロック レベルで圧縮されたテーブルを作成します。

     CREATE SET TABLE t_blc, NO FALLBACK, NO BEFORE JOURNAL, 
                             NO AFTER JOURNAL, CHECKSUM = DEFAULT,
                             BLOCKCOMPRESSION = ALWAYS 
                             BLOCKCOMPRESSIONALGORITHM=ZLIB 
                             BLOCKCOMPRESSIONLEVEL=8 (
       c1   INTEGER FORMAT '-(10)9' )    
     UNIQUE PRIMARY INDEX (c1)  
     PARTITION BY(RANGE_N(c1 BETWEEN 1 
                             AND   500
                             EACH 5));

例: ブロックレベル圧縮をAUTOTEMPに設定

この例は、BLOCKCOMPRESSIONオプションをAUTOTEMPに設定してテーブルを作成します。そのため、Teradata Databaseがテーブルのデータの圧縮状態を、その使用頻度に基づいていつでも変更できます。

     CREATE SET TABLE t_blc, NO FALLBACK, NO BEFORE JOURNAL, 
                             NO AFTER JOURNAL, CHECKSUM = DEFAULT,
                             BLOCKCOMPRESSION = AUTOTEMP(
       c1   INTEGER FORMAT '-(10)9' )    
     UNIQUE PRIMARY INDEX (c1)  
     PARTITION BY(RANGE_N(c1 BETWEEN 1 
                             AND   500
                             EACH 5));