Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Os índices clusterizados precisam ser exclusivos?


Eles não têm ser exclusivo, mas certamente é incentivado.
Ainda não encontrei um cenário em que desejasse criar um IC em uma coluna não exclusiva.

O que acontece se você criar um IC em uma coluna não exclusiva

Isso leva a um desempenho ruim?

Adicionando um único certamente adiciona alguma sobrecarga no cálculo e no armazenamento.
Se essa sobrecarga for perceptível depende de vários fatores.
  • Quantos dados a tabela contém.
  • Qual ​​é a taxa de inserções.
  • Com que frequência o IC é usado em uma seleção (quando não existem índices de cobertura, quase sempre).

Editar
conforme apontado por Remus nos comentários, existem casos de uso em que a criação de um CI não exclusivo seria uma escolha razoável. Eu não ter encontrado um desses cenários apenas mostra minha própria falta de exposição ou competência (escolha sua escolha).