📜  Teradata-压缩

📅  最后修改于: 2020-11-29 09:03:17             🧑  作者: Mango


压缩用于减少表使用的存储。在Teradata中,压缩最多可以压缩255个不同的值,包括NULL。由于减少了存储,Teradata可以在一个块中存储更多记录。由于任何I / O操作都可以处理每个块更多的行,因此可以缩短查询响应时间。可以在使用CREATE TABLE创建表时添加压缩,也可以在使用ALTER TABLE命令创建表后添加压缩。

局限性

  • 每列只能压缩255个值。
  • 主索引列无法压缩。
  • 易失性表无法压缩。

多值压缩(MVC)

下表压缩值1、2和3的字段DepatmentNo。将压缩应用于列时,该列的值不与行一起存储。取而代之的是,这些值存储在每个AMP的Table标头中,并且仅将存在位添加到该行以指示该值。

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);

当大型表中的列具有有限值时,可以使用多值压缩。