17.10 - BLOCKCOMPRESSION - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

このオプションでは、テーブルの現在のブロック圧縮状態(温度に基づく)を新しい状態に変更します。

テーブルに対するBLOCKCOMPRESSIONオプションの動作については、 BLOCKCOMPRESSIONを参照してください。

ブロック圧縮がAUTOTEMPに設定されたテーブルでは通常、テーブル内の一部のブロックが圧縮され、その他のブロックは圧縮されません。テーブルのブロック圧縮をAUTOTEMPモードからMANUALまたはNEVERに変更する場合、テーブル内の一部のブロックは圧縮されたままになり、その他のブロックは圧縮されません。

この状態でもテーブルの機能に何の影響もありませんが、ブロック圧縮の状態に一貫性がありません。テーブルのブロック圧縮オプションをMANUALに変更した場合でも、テーブルの圧縮ブロックを変更すると、新しく作成したブロックは圧縮されます。テーブルがNEVERに変更されていた場合は、テーブルの圧縮ブロックを変更すると、新しく作成したブロックはファイル システムによって圧縮解除されます。BLOCKCOMPRESSIONオプションをAUTOTEMPからMANUALまたはNEVERに変更した場合に、テーブルの非圧縮ブロックを変更すると、テーブルに対して新しく作成したデータ ブロックのシリンダは非圧縮状態のままになります。

そのようなテーブルのブロック レベル圧縮の状態を均一化するための方法を、以下の表に示します。Ferretユーティリティの使用方法については、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

テーブルのブロック レベル圧縮をAUTOTEMPから変更した状態 ブロック レベル圧縮の状態を均一化するために使用するFerretユーティリティ コマンド
MANUAL
  • COMPRESS
  • UNCOMPRESS
NEVER UNCOMPRESS

混合ブロック レベル圧縮状態でも、テーブルの機能に何の影響もありませんが、ブロック圧縮の状態に一貫性が。テーブルのブロック レベル圧縮ブロックを変更する際に、そのテーブルのBLOCKCOMPRESSIONオプションをMANUALに変更するためにALTER TABLEリクエストを実行すると、新しく作成したブロックが圧縮されます。テーブルがNEVERに変更されていた場合は、テーブルの圧縮ブロックを変更すると、新しく作成したブロックはファイル システムによって圧縮解除されます。BLOCKCOMPRESSIONオプションがMANUALまたはNEVERに変更されていた場合に、テーブルの非圧縮ブロックを変更すると、新しく作成したブロックは非圧縮状態のままになります。

テーブル全体に一貫してブロック レベル圧縮が必要であると考えられるテーブルに対しては、温度に基づくブロック レベル圧縮を使用しないことを推奨します。

圧縮率を上げるために、同一のテーブルに対して複数値圧縮、アルゴリズム圧縮、およびブロック レベル圧縮を組み合わせることができます。ただし、一般的なルールとして、アルゴリズム圧縮とブロック レベル圧縮を組み合わせることはしないでください。他のワークロードについてパフォーマンスが低下する恐れがあります。