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

Entités associatives et indexation de la BD

Index sur les colonnes pk référencées dans les autres tables ne le couvrez pas.

En définissant les deux colonnes fk comme clé primaire composite de la table "entité associative" (comme il se doit dans la plupart des cas - à condition que les associations soient uniques), vous créez implicitement un index multi-colonnes.

Cela couvre toutes les requêtes impliquant les deux ou les premières colonnes de manière optimale.
Il couvre également les requêtes sur la deuxième colonne , mais de manière moins efficace.
Si vous avez des requêtes importantes impliquant uniquement la deuxième colonne, créez également un index supplémentaire sur celle-ci.

Lisez tous les détails sur le sujet sur ce question connexe sur dba.SE .
Ou cette question sur SO , traitant également de ce sujet.