Index sur les clés étrangères et les clés primaires dans Postgres
Dans PostgreSQL, certains objets de base de données reçoivent automatiquement des index, tandis que d'autres peuvent nécessiter une création manuelle. Cet article étudie les cas spécifiques dans lesquels PostgreSQL génère automatiquement des index et fournit une méthode pour identifier tous les index associés à une table.
Objets auto-indexés
PostgreSQL crée automatiquement des index sur les clés primaires et les contraintes uniques. En renforçant l'unicité, ces index jouent un rôle crucial dans la garantie de l'intégrité des données.
Identification des index générés automatiquement
PostgreSQL informe les utilisateurs de tout index créé dynamiquement avec un AVIS : message de niveau. Ces notifications apparaissent à la fois dans la console psql et dans les journaux système. De plus, la commande d affiche les index générés automatiquement dans sa sortie.
Index de clés étrangères
Malgré l'indexation automatique des clés primaires et des contraintes uniques, PostgreSQL s'abstient d'indexer les clés étrangères références. Cette omission vient du fait que la création d'un index sur les colonnes de référencement n'est pas toujours nécessaire et peut introduire des problèmes de performances.
Création d'index de clés étrangères
Si cela est jugé utile, les utilisateurs peut créer manuellement des index sur les colonnes de clé étrangère. Cependant, il est important de considérer l'impact potentiel sur les opérations DML, car chaque index entraîne une légère surcharge de performances lors des INSERT, UPDATE et DELETE.
Considérations supplémentaires
Dans le contexte de relations clé primaire-étrangère, où deux clés étrangères constituent une clé primaire, un index est automatiquement créé sur la clé primaire. Dans de tels cas, des index supplémentaires sur les colonnes de clé étrangère peuvent être superflus.
Déterminer la nécessité d'un index côté référencement sur les clés étrangères nécessite une analyse minutieuse. Bien que généralement recommandé, cela dépend en fin de compte de la fréquence d'utilisation de l'index.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!