Терадата - вторичный индекс

Таблица может содержать только один первичный индекс. Чаще вы встретите сценарии, в которых таблица содержит другие столбцы, с помощью которых часто осуществляется доступ к данным. Teradata выполнит полное сканирование таблицы для этих запросов. Вторичные индексы решают эту проблему.

Вторичные индексы - это альтернативный путь для доступа к данным. Есть некоторые различия между первичным индексом и вторичным индексом.

  • Вторичный индекс не участвует в распределении данных.

  • Значения вторичных индексов хранятся в подтаблицах. Эти таблицы встроены во все AMP.

  • Вторичные индексы необязательны.

  • Они могут быть созданы во время создания таблицы или после создания таблицы.

  • Они занимают дополнительное место, так как создают подтаблицы, и они также требуют обслуживания, так как подтаблицы необходимо обновлять для каждой новой строки.

Есть два типа вторичных индексов -

  • Уникальный вторичный индекс (USI)
  • Неуникальный вторичный индекс (NUSI)

Уникальный вторичный индекс (USI)

Уникальный вторичный индекс допускает только уникальные значения для столбцов, определенных как USI. Доступ к строке с помощью USI - это операция с двумя усилителями.

Создать уникальный вторичный индекс

В следующем примере USI создается в столбце EmployeeNo таблицы сотрудников.

CREATE UNIQUE INDEX(EmployeeNo) on employee;

Неуникальный вторичный индекс (NUSI)

Неуникальный вторичный индекс допускает повторяющиеся значения для столбцов, определенных как NUSI. Доступ к строке с помощью NUSI - это операция на всех усилителях.

Создать неуникальный вторичный индекс

В следующем примере создается NUSI в столбце FirstName таблицы сотрудников.

CREATE INDEX(FirstName) on Employee;