Учебники

Терадата – Сжатие

Сжатие используется для уменьшения памяти, используемой таблицами. В Teradata сжатие может сжимать до 255 различных значений, включая NULL. Поскольку объем хранилища сокращен, Teradata может хранить больше записей в блоке. Это приводит к улучшению времени ответа на запрос, поскольку любая операция ввода-вывода может обрабатывать больше строк на блок. Сжатие может быть добавлено при создании таблицы с помощью CREATE TABLE или после создания таблицы с помощью команды ALTER TABLE.

Ограничения

  • Только 255 значений могут быть сжаты в столбце.
  • Столбец первичного индекса не может быть сжат.
  • Изменчивые таблицы не могут быть сжаты.

Многозначное сжатие (MVC)

Следующая таблица сжимает поле DepatmentNo для значений 1, 2 и 3. Когда сжатие применяется к столбцу, значения для этого столбца не сохраняются вместе со строкой. Вместо этого значения сохраняются в заголовке таблицы в каждом 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);

Сжатие с несколькими значениями можно использовать, когда у вас есть столбец в большой таблице с конечными значениями.