Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Una chiave esterna crea automaticamente un indice?

Una chiave esterna è un vincolo, una relazione tra due tabelle, che non ha nulla a che fare con un indice di per sé.

Ma è noto che ha molto senso indicizzare tutte le colonne che fanno parte di qualsiasi relazione di chiave esterna, perché attraverso una relazione FK, dovrai spesso cercare una tabella correlata ed estrarre determinate righe in base a un singolo valore o un intervallo di valori.

Quindi ha senso indicizzare tutte le colonne coinvolte in un FK, ma un FK di per sé non è un indice.

Dai un'occhiata all'eccellente articolo di Kimberly Tripp "Quando SQL Server ha smesso di inserire gli indici nelle colonne della chiave esterna?".