Teradata - 壓縮



壓縮用於減少表使用的儲存空間。在 Teradata 中,壓縮最多可以壓縮 255 個不同的值,包括 NULL 值。由於儲存空間減少了,Teradata 可以在一個數據塊中儲存更多記錄。這導致查詢響應時間改進,因為任何 I/O 操作都可以在每個資料塊中處理更多行。可以使用 CREATE TABLE 命令在建立表時新增壓縮,也可以使用 ALTER TABLE 命令在建立表之後新增壓縮。

限制

  • 每列只能壓縮 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);

當大型表中有一列具有有限值時,可以使用多值壓縮。

廣告
© . All rights reserved.