テーブル、結合インデックス、またはハッシュ インデックスを作成または変更するとき、SQLでデータ ブロック圧縮を定義する選択肢が増えました。新しい選択肢は次のとおりです。
- BLOCKCOMPRESSIONオプションのALWAYS値: テーブルと該当するサブテーブルのデータ ブロックは常に圧縮されます。
- BLOCKCOMPRESSIONALGORITHMオプション: データ ブロックを圧縮するアルゴリズムで、選択肢にはソフトウェアまたはハードウェア圧縮があります。
- BLOCKCOMPRESSIONLEVELオプション: ZLIBソフトウェア圧縮アルゴリズムが使用する、速度またはより大きい圧縮のどちらかに重点を置く、ユーザー選択可能な圧縮レベルです。
これらのオプションは、テーブルの設定を定義するテーブル レベル属性です。これらのオプションは、システムの設定よりも優先されます。
手動で圧縮されたテーブル用のDBS制御ユーティリティ フィールドの新しい値であるALWAYSもあります。
利点
- より高い柔軟性を持ちデータ ブロック圧縮の微調整を行ないます。
- テーブル レベルで圧縮の属性を制御するより高い能力を備えています。
考慮事項
- BLOCKCOMPRESSIONの値をAUTOTEMP、MANUAL、またはNEVERからALWAYSに変更するとき、Teradata Databaseは変更前に存在していたデータ ブロックの圧縮ステータスを変更しません。つまり、テーブル内の一部のデータ ブロックが圧縮され、一部は圧縮されない場合があります。BLOCKCOMPRESSIONの値の変更は、新しいデータ ブロックのみに影響します。同じことは、BLOCKCOMPRESSION値をALWAYSから他のオプションに変更する場合にも当てはまります。テーブルで一貫させるためには、FERRET [UN]COMPRESSコマンドを使用します。
- BLOCKCOMPRESSIONALGORITHMまたはBLOCKCOMPRESSIONLEVELの値を変更するとき、Teradata Databaseは変更前に存在していたデータ ブロックの圧縮ステータスを変更しません。つまり、テーブル内の一部のデータ ブロックは、以前に定義されたアルゴリズムまたはレベル設定を使用して圧縮される場合があります。これらの値の変更は、新しいデータ ブロックのみに影響します。
- テーブル レベルのオプションが有効になる前に、システム レベルでブロック レベルの圧縮を有効にする必要があります。
- BLOCKCOMPRESSIONALGORITHMがDEFAULTに設定されるか指定されていない場合、圧縮アルゴリズムはDBS制御ユーティリティ フィールドCompressionAlgorithmの設定によって決定されます。
- これらのテーブル レベルの属性は、VOLATILEおよびGLOBAL TEMPORARYテーブルには適用されません。
- これらのテーブル レベルの属性は、IMMEDIATE句では使用できません。
追加情報
詳細については、<Teradata Vantage™ データベース設計、B035-1094>を参照してください。