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

qual é a diferença entre o índice clusterizado e o índice exclusivo?


Os dois não estão relacionados:
  • "Único" garante que cada valor ocorra exatamente apenas uma vez
  • "Agrupado" é como os dados são organizados no disco

Você pode ter todas as 4 permutações:
  • "exclusivo sem cluster"
  • "cluster exclusivo"
  • "não exclusivo não agrupado"
  • "agrupado não exclusivo"

Alguma confusão ocorre porque o padrão para uma "chave primária" (PK) no SQL Server é clusterizado.

Uma "chave primária" deve sempre ser única. A diferença entre "unique" e "PK" é que unique permite um NULL, PK não permite nenhum NULL.

Finalmente, alguns limites numéricos
  • como clusterizado se refere ao layout em disco, você pode ter apenas um índice clusterizado por tabela
  • uma tabela não pode ter mais de uma chave primária, mas pode ter muitos índices exclusivos