このオプションでは、テーブルの現在のブロック圧縮状態(温度に基づく)を新しい状態に変更します。
テーブルに対するBLOCKCOMPRESSIONオプションの動作については、 BLOCKCOMPRESSIONを参照してください。
ブロック圧縮がAUTOTEMPに設定されたテーブルでは通常、テーブル内の一部のブロックが圧縮され、その他のブロックは圧縮されません。テーブルのブロック圧縮をAUTOTEMPモードからMANUALまたはNEVERに変更する場合、テーブル内の一部のブロックは圧縮されたままになり、その他のブロックは圧縮されません。
この状態でもテーブルの機能に何の影響もありませんが、ブロック圧縮の状態に一貫性がありません。テーブルのブロック圧縮オプションをMANUALに変更した場合でも、テーブルの圧縮ブロックを変更すると、新しく作成したブロックは圧縮されます。テーブルがNEVERに変更されていた場合は、テーブルの圧縮ブロックを変更すると、新しく作成したブロックはファイル システムによって圧縮解除されます。BLOCKCOMPRESSIONオプションをAUTOTEMPからMANUALまたはNEVERに変更した場合に、テーブルの非圧縮ブロックを変更すると、テーブルに対して新しく作成したデータ ブロックのシリンダは非圧縮状態のままになります。
そのようなテーブルのブロック レベル圧縮の状態を均一化するための方法を、以下の表に示します。Ferretユーティリティの使用方法については、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。
テーブルのブロック レベル圧縮をAUTOTEMPから変更した状態 | ブロック レベル圧縮の状態を均一化するために使用するFerretユーティリティ コマンド |
---|---|
MANUAL |
|
NEVER | UNCOMPRESS |
混合ブロック レベル圧縮状態でも、テーブルの機能に何の影響もありませんが、ブロック圧縮の状態に一貫性がは。テーブルのブロック レベル圧縮ブロックを変更する際に、そのテーブルのBLOCKCOMPRESSIONオプションをMANUALに変更するためにALTER TABLEリクエストを実行すると、新しく作成したブロックが圧縮されます。テーブルがNEVERに変更されていた場合は、テーブルの圧縮ブロックを変更すると、新しく作成したブロックはファイル システムによって圧縮解除されます。BLOCKCOMPRESSIONオプションがMANUALまたはNEVERに変更されていた場合に、テーブルの非圧縮ブロックを変更すると、新しく作成したブロックは非圧縮状態のままになります。
テーブル全体に一貫してブロック レベル圧縮が必要であると考えられるテーブルに対しては、温度に基づくブロック レベル圧縮を使用しないことを推奨します。
圧縮率を上げるために、同一のテーブルに対して複数値圧縮、アルゴリズム圧縮、およびブロック レベル圧縮を組み合わせることができます。ただし、一般的なルールとして、アルゴリズム圧縮とブロック レベル圧縮を組み合わせることはしないでください。他のワークロードについてパフォーマンスが低下する恐れがあります。