A distinção entre um índice clusterizado versus não clusterizado é que o índice clusterizado determina a ordem física das linhas no banco de dados . Em outras palavras, aplicando o índice clusterizado a
PersonId
significa que as linhas serão classificadas fisicamente por PersonId
na tabela, permitindo que uma pesquisa de índice vá direto para a linha (em vez de um índice não clusterizado, que direcionaria você para o local da linha, adicionando uma etapa extra). Dito isso, é incomum para a chave primária não ser o índice clusterizado, mas não inédito. O problema com seu cenário é, na verdade, o oposto do que você está supondo:você quer único valores em um índice clusterizado, não duplicatas. Como o índice clusterizado determina a ordem física da linha, se o índice estiver em uma coluna não exclusiva, o servidor precisará adicionar um valor de plano de fundo às linhas que tenham um valor de chave duplicado (no seu caso, todas as linhas com o mesmo
PersonId
) para que o valor combinado (chave + valor de fundo) seja exclusivo. A única coisa que eu sugiro é não usando uma chave substituta (seu
CourtOrderId
) como a chave primária, mas use uma chave primária composta do PersonId
e alguma outra coluna ou conjunto de colunas de identificação exclusiva. Se isso não for possível (ou não for prático), coloque o índice clusterizado em CourtOrderId
.