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

Relação de Chave Primária e Índice Agrupado


Uma chave primária é uma chave lógica conceito - é o identificador exclusivo de uma linha em uma tabela. Como tal, ele tem vários atributos - pode não ser nulo e deve ser exclusivo. É claro que, como é provável que você pesquise muito os registros por seu identificador exclusivo, seria bom ter um índice na chave primária.

Um índice clusterizado é um físico conceito - é um índice que afeta a ordem em que os registros são armazenados no disco. Isso o torna um índice muito rápido ao acessar dados, embora possa diminuir a velocidade das gravações se sua chave primária não for um número sequencial.

Sim, você pode ter uma chave primária sem um índice clusterizado - e às vezes, você pode querer (por exemplo, quando sua chave primária é uma combinação de chaves estrangeiras em uma tabela de junção e você não deseja incorrer na sobrecarga de embaralhamento de disco ao escrever).

Sim, você pode criar um índice clusterizado em colunas que não são uma chave primária.