Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
Je pensais jusqu'à aujourd'hui, que les clés étrangères déclarées dans une table postgres étaient automatiquement indexées, puis, je suis tombé sur une option dans PG Admin : Index FK Auto. Par conséquent, qu'en est-il ?
Si je suis bien votre (complète) documentation (https://public.dalibo.com/exports/forma … ndout.html) la clé est indexée si, dans la table à laquelle elle fait référence, cette même clé correspond à une clé primaire.
En l’occurrence, j'ai un cas qui ne semble pas être le même et je ne sais pas comment je pourrais optimiser mon indexation. Dans mon cas ma clé étrangère est un champ à part dans l'autre table :
A noter : la table 1 contient une contrainte d'unicité sur le champ ID_Table2
Comment puis-je optimiser cela ?
Merci
Geo-x
Dernière modification par Geo-x (21/02/2023 14:32:08)
Hors ligne
Bonjour,
Postgres ne créera jamais d'index sur les clés étrangères tout seul, comme tout autre index à l'exception des index créés pour garantir une contrainte type clé primaire ou contrainte d'unicité. Donc effectivement, c'est à vous de créer un index sur la FK, si cela est nécessaire.
Concernant votre exemple, je crains de ne pas comprendre. Avez-vous un exemple plus clair sous forme SQL (DDL et DML pour insérer des données et une requête type qui pourrait être problématique).
Julien.
https://rjuju.github.io/
Hors ligne
Bonjour Julien et merci de votre réponse.
J'ai tenté de créer un jeu de données quasiment iso en volumétrie et structure > https://1fichier.com/?bx1vzax1twrsioxsl5fi
Et voici la requête adaptée > https://1fichier.com/?jboe86m6mm69paaszlbv
En parallèle de ça j'ai analysé le résultat via explain DALIBO : https://explain.dalibo.com/plan/13a7h14fb882be93 mais le chemin ne correspond pas au chemin parcouru par la requête avec de "vrais" données. Voici à quoi ressemble le parcours de la requête sur la vraie donnée :
Merci de votre aide.
Hors ligne
Pages : 1