Carregando...
Sem categoria

Constraint UNIQUE vs Índice UNIQUE INDEX

Unique Index é um tipo de índice que você pode criar em uma tabela. Ele é um índice e uma constraint unique ao mesmo tempo.

O Unique Index impede a inserção de elementos duplicados na tabela e, ao mesmo tempo, cria um índice para aquele elemento.

Apesar de ser uma constraint, ele é criado como um índice, é exibido como índice e não aparece na lista de constraints da tabela.

Quais as diferenças entre a CONSTRAINT UNIQUE e o UNIQUE INDEX?

Não há, toda vez que uma CONSTRAINT UNIQUE é criada, um índice é criado implicitamente para aquela(s) coluna(s).

Da mesma forma, toda vez que um UNIQUE INDEX é criado, uma constraint é criada implicitamente para aquela(s) coluna(s).

Não crie uma CONSTRAINT UNIQUE e um UNIQUE INDEX iguais. Dois índices (duplicados) ficarão na sua tabela, reduzindo sua performance.

UNIQUE INDEX e valores NULL (nulos)

O UNIQUE INDEX permite valores nulos na coluna a ser indexada. Isso faz contraste à PRIMARY KEY, onde é UNIQUE, mas não permite valores nulos.

Referências

https://stackoverflow.com/a/2916464/2789895

https://www.postgresql.org/docs/current/static/sql-createindex.html

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *