Teradata - kompresja

Kompresja służy do zmniejszenia pamięci używanej przez tabele. W Teradata kompresja może skompresować do 255 różnych wartości, w tym NULL. Ponieważ pamięć jest ograniczona, Teradata może przechowywać więcej rekordów w bloku. Skutkuje to skróceniem czasu odpowiedzi na zapytanie, ponieważ każda operacja we / wy może przetwarzać więcej wierszy na blok. Kompresję można dodać podczas tworzenia tabeli za pomocą polecenia CREATE TABLE lub po utworzeniu tabeli za pomocą polecenia ALTER TABLE.

Ograniczenia

  • W jednej kolumnie można skompresować tylko 255 wartości.
  • Nie można skompresować kolumny indeksu podstawowego.
  • Tabel niestabilnych nie można kompresować.

Kompresja wielowartościowa (MVC)

Poniższa tabela kompresuje pole DepatmentNo dla wartości 1, 2 i 3. W przypadku zastosowania kompresji do kolumny wartości dla tej kolumny nie są przechowywane w wierszu. Zamiast tego wartości są przechowywane w nagłówku tabeli w każdym AMP i tylko bity obecności są dodawane do wiersza, aby wskazać wartość.

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

Kompresji wielu wartości można użyć, gdy w dużej tabeli znajduje się kolumna o skończonych wartościach.