Vous n'êtes pas identifié(e).
Pages : 1
Salut,
J'ai un petit problème de lenteur qui me pose des soucis.
Lorsque j'exécute une requête sur une grosse table de mon application (8.000.000 de lignes, 2,6giga) j'obtiens une liste d'identifiants en à peine quelques millisecondes (+/-40).
Si j'utilise le résultat de ma requête dans une seconde requête (la 50aine de identifiants) dans la clause "where id in (ma liste)" j'ai les résultats qui ressortent aussi en millisecondes (+/-500).
(table 2= 3.000.000 de lignes et 1,2 giga). Jusque là, vous me direz que c'est impeccable.
Mais si j'essaie de faire une jointure entre les 2 tables pour récupérer le même résultat que celui retourné par la seconde requête, le temps d'exécution dépasse les 5 minutes si j'utilise un "inner join" et 1 minute si je passe par un "where table1.id=table2.id".
Quelqu'un voit où se situe le problème?
Je n'ai aucun ennuis de performance à quelqu'autre niveau.
J'utilise postgres 8.2.14 sur centos 5.3, il s'agit d'un serveur dédié (6giga de ram, raid 10).
Dernière modification par etpaf (03/02/2010 18:47:43)
Hors ligne
Sans le code des requêtes, les tables et leur définition, ainsi que les plans d'exécution, non…
Enfin si, il y a plein d'hypothèses possibles, mais sans plus d'infos, aucun intérêt d'en avancer au hasard.
Merci de fournir les informations manquantes.
Marc.
Hors ligne
Pages : 1