Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Une clé étrangère crée-t-elle automatiquement un index ?

Une clé étrangère est une contrainte, une relation entre deux tables - qui n'a rien à voir avec un index en soi.

Mais c'est un fait connu qu'il est très logique d'indexer toutes les colonnes qui font partie d'une relation de clé étrangère, car via une relation FK, vous aurez souvent besoin de rechercher une table liée et d'extraire certaines lignes en fonction de une valeur unique ou une plage de valeurs.

Il est donc logique d'indexer toutes les colonnes impliquées dans un FK, mais un FK en soi n'est pas un index.

Consultez l'excellent article de Kimberly Tripp "Quand SQL Server a-t-il arrêté de mettre des index sur les colonnes de clé étrangère ?".