Teradata-圧縮

圧縮は、テーブルが使用するストレージを削減するために使用されます。Teradataでは、圧縮により、NULLを含む最大255の異なる値を圧縮できます。ストレージが削減されるため、Teradataは1つのブロックにより多くのレコードを保存できます。これにより、I / O操作でブロックごとにより多くの行を処理できるため、クエリの応答時間が改善されます。圧縮は、CREATE TABLEを使用したテーブル作成時、またはALTERTABLEコマンドを使用したテーブル作成後に追加できます。

制限事項

  • 列ごとに圧縮できるのは255個の値のみです。
  • プライマリインデックス列は圧縮できません。
  • 揮発性テーブルは圧縮できません。

マルチバリューコンプレッション(MVC)

次の表は、値1、2、および3のフィールドDepatmentNoを圧縮します。圧縮が列に適用されると、この列の値は行とともに保存されません。代わりに、値は各AMPのテーブルヘッダーに格納され、値を示すためにプレゼンスビットのみが行に追加されます。

CREATE SET TABLE employee ( 
   EmployeeNo integer, 
   FirstName CHAR(30), 
   LastName CHAR(30), 
   BirthDate DATE FORMAT 'YYYY-MM-DD-', 
   JoinedDate DATE FORMAT 'YYYY-MM-DD-', 
   employee_gender CHAR(1), 
   DepartmentNo CHAR(02) COMPRESS(1,2,3) 
) 
UNIQUE PRIMARY INDEX(EmployeeNo);

複数値圧縮は、有限値の大きなテーブルに列がある場合に使用できます。