Teradata - Índice Secundário

Uma tabela pode conter apenas um índice primário. Mais frequentemente, você encontrará cenários em que a tabela contém outras colunas, usando as quais os dados são acessados ​​com frequência. O Teradata executará uma varredura completa da tabela para essas consultas. Os índices secundários resolvem esse problema.

Os índices secundários são um caminho alternativo para acessar os dados. Existem algumas diferenças entre o índice primário e o índice secundário.

  • O índice secundário não está envolvido na distribuição de dados.

  • Os valores do índice secundário são armazenados em subtabelas. Essas tabelas são criadas em todos os AMPs.

  • Os índices secundários são opcionais.

  • Eles podem ser criados durante a criação da tabela ou após a criação de uma tabela.

  • Eles ocupam espaço adicional porque criam subtabelas e também requerem manutenção, pois as subtabelas precisam ser atualizadas para cada nova linha.

Existem dois tipos de índices secundários -

  • Índice Secundário Único (USI)
  • Índice Secundário Não Único (NUSI)

Índice Secundário Único (USI)

Um índice secundário exclusivo permite apenas valores exclusivos para as colunas definidas como USI. Acessar a linha por USI é uma operação de dois amp.

Criar Índice Secundário Único

O exemplo a seguir cria USI na coluna EmployeeNo da tabela de funcionários.

CREATE UNIQUE INDEX(EmployeeNo) on employee;

Índice secundário não exclusivo (NUSI)

Um índice secundário não exclusivo permite valores duplicados para as colunas definidas como NUSI. Acessar a linha por NUSI é uma operação com todos os amplificadores.

Criar índice secundário não exclusivo

O exemplo a seguir cria NUSI na coluna FirstName da tabela de funcionários.

CREATE INDEX(FirstName) on Employee;