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);
複数値圧縮は、有限値の大きなテーブルに列がある場合に使用できます。