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.