BLOCKCOMPRESSION - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

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

テーブルに対する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に変更されていた場合に、テーブルの非圧縮ブロックを変更すると、新しく作成したブロックは非圧縮状態のままになります。

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

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