Sintaxe
CREATE [UNIQUE] INDEX nome-do-índice
ON nome-da-tabela ( nome-de-coluna-simples [ ASC | DESC ]
[ , nome-de-coluna-simples [ ASC | DESC ]] * )
No ,
o número máximo de colunas para chave do índice é 16.
O nome do índice não pode ter mais que 128 caracteres.
O nome da coluna não pode aparecer mais de uma vez na mesma instrução
CREATE INDEX.
Entretanto, índices diferentes podem incluir a mesma coluna.
O
pode utilizar os índices para melhorar o desempenho das instruções de
manipulação de dados
(consulte o ).
Além disso, os índices UNIQUE fornecem uma maneira de verificar a integridade
dos dados.
Os nomes dos índices são únicos no esquema (Alguns sistemas de banco de dados
permitem que tabelas diferentes no mesmo esquema possuam índices com o mesmo
nome, mas o não
permite).
É assumido que a tabela e o índice estão no mesmo esquema, se o nome do
esquema for especificado para um dos nomes, mas não para o outro.
Se o nome do esquema for especificado tanto para o índice quanto para a tabela,
será lançada uma exceção se os nomes dos esquemas não forem o mesmo.
Se não for especificado o nome do esquema nem para a tabela e nem para o índice,
será utilizado o esquema corrente.
Índices descendentesÍndicescriados em ordem descendenter
O utiliza, por padrão,
a ordem ascendente de cada coluna para criar o índice.
Especificar ASC após o nome da coluna não modifica o comportamento padrão.
A palavra chave DESC após o nome da coluna faz com que o
utilize a ordem descendente da coluna para criar o índice.
Utilizar a ordem descendente para uma coluna pode ajudar a melhorar o desempenho
dos comandos que requerem resultados em uma ordem de classificação mista ou
na ordem descendente, e para os comandos que selecionam o valor mínimo ou máximo
de uma coluna indexada.
Índicesespecificação do tamanho da página
Se for especificado um nome de índice qualificado, o nome do esquema não
poderá começar por SYS.
Índices e restrições
Índices de apoiocriados automaticamente para
garantir as restrições de chave primária, unicidade e de chave estrangeira
Índicescriação automática para restrições de
chave primária, unicidade e de chave estrangeira
As restrições de unicidade, de chave primária, e de chave estrangeira, geram
índices que impõem, ou "apoiam", a restrição (por isso, algumas vezes são
chamados de índices de apoio).
Se uma coluna, ou conjunto de colunas, tiver uma restrição UNIQUE ou
PRIMARY KEY aplicada, não será permitido criar índice com estas colunas.
O já terá criado um
índice com nome gerado pelo sistema.
Os nomes gerados pelo sistema para os índices que apoiam as restrições
são facilmente encontrados consultando as tabelas do sistema, se for
especificado o nome da restrição.
Por exemplo, para descobrir o nome do índice que apoia a restrição
PK_VÔOS:
SELECT CONGLOMERATENAME FROM SYS.SYSCONGLOMERATES,
SYS.SYSCONSTRAINTS WHERE
SYS.SYSCONGLOMERATES.TABLEID = SYSCONSTRAINTS.TABLEID
AND CONSTRAINTNAME = 'PK_VÔOS'