Re: Temps de réponse

From: Eric HAGENBACH <eric(dot)hagenbach(at)vif(dot)tm(dot)fr>
To:
Cc: Forum Postgres France <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Temps de réponse
Date: 2004-07-28 10:37:31
Message-ID: 410781EB.9060700@vif.tm.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Eric HAGENBACH a écrit :

> Eric HAGENBACH a écrit :
>
>> Bonjour,
>>
>> J'ai une base Postgres 7.4.3 installée sur une serveur linux
>> J'y accède via un poste client sous windows XP en utilisant le driver
>> ODBC pour Postgres (PostgreSQL30)
>>
>> Nous voulons utilisons des outils du marché comme Transformer de
>> Cognos et Analyses Services de Microsoft pour interroger cette base
>> et constuire des cubes multi-dimensionnelles. C'est ce que nous
>> faisons à l'heure actuelle sur une base Oracle.
>>
>> Les tests effectués avec ces outils donnent des résultats deçevant en
>> terme de temps de réponse (exemple: 40 min pour créer un cube sous
>> Cognos avec seulement 4000 ligne de factures, par compaison le même
>> genre de cube sur une base de 70 000 lignes prend 20 min).
>>
>> J'ai effectué des tests sous winsql (outils de requêtage sous
>> windows) et une requête avec 4 jointures externes prend 18 min.
>> La même requête faite directement sur le serveur linux (sous psql)
>> prend 6 min 40 s.
>>
> Mea culpa, j'avais laissé les fichiers log (psqodbc_XXXX.log et
> mylog_XXXX.log) et ça ralentissait énormément la requête:
> la requête dure 6 min 50 s sous windows et le cube sous Cognos prend 9
> min. C'est encore assez long !
>
>> Le même genre de requête sur une base Oracle plus importante donne un
>> résultat immédiat.
>>
>> Y-a-t'il un paramétrage particulier à mettre en place pour optimiser
>> par exemple les jointures externes.
>>
> PAr contre j'ai une requête construite par l'outil Analyses Manager de
> Microsoft qui fait la jointure entre 7 dimensions soit 7 tables (en
> fait une des tables est déjà une vue avec une jointure externe) et la
> requête lancé hier à 16h15 n'a toujours pas donnée de résultat (sur
> une base qui ne compte que quelques milliers d'enregistrements) !!!
> La même requête sans la jointure externe retourne le résutat en 9 s !!

En approfondissant les recherches, il s'avère que le véritable problème
dans la vue n'est pas la jointure externe elle-même mais la condition
mise en place dans le where (il s'agit de la condition qui porte
uniquement sur la table principale):
Cette condition est du type:
Where (T1.C1 = 'XX' and T1.C2 = '99' and T1.C3 = 'ZZZ' and (T1.C4 IN
('AA','BB'))
Si je mets uniquement: where (T1.C1 = 'XX') la résultat de la vue
s'affiche en moins de 50 s
Si je mets where (T1.C1 = 'XX' and T1.C2 = '99'), le résultat n'est
toujours pas affiché au bout de 5 min.
Les 2 champs mentionnés font partis des index ??

Est-ce que ce genre de problème vous est connu ??

Je ne retrouve pas ce problème de condition quand je fais des accès
directs à la table (quand elle n'est pas dans la vue).

Est-ce que la requête finale (du genre celle en bas du mail) ne
serait-elle pas trop compliquée pour Postgres (ou simplement mal faite
pour Postgres) ?

>> Merci
>>
>> Eric Hagenbach
>> eric(dot)hagenbach(at)vif(dot)tm(dot)fr
>> ------------------------
>> Exemple de requete:
>> select T1."x1" as c1,
>> T1."x2" as c2,
>> T2."xxx" as c130,
>> T3."mt1" as c133,
>> T4."d1" as c140,
>> T5."d12" as c141
>> from (((("d"."table1" T1 left outer join "d"."table2" T2
>> on ((((T1."c1" = T2."c1") and (T1."c2" = T2."c2")) and
>> (T1."c3" = T2."c3")) and (T1."c4" = T2."c4")) and
>> (T1."c5" = T2."5")) left outer join "d"."table3" T3 on T1."id" = T3."id")
>> left outer join "d"."table4" T4 on T1."id" = T4."id")
>> left outer join "d"."table5" T5 on T1."id" = T5."id")
>> where ((((((T1."c1" = 'XX') and (T1."c2" = ' ')) and
>> (T1."C3" = 'XX')) and (T1."C4" = '99')) and
>> (T1."C7" = 'ZZZ')) and (T1."C8" IN ('AA','BB')))
>>
>

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sébastien Lardière 2004-07-28 10:53:28 Re: Temps de réponse
Previous Message Eric HAGENBACH 2004-07-28 09:31:52 Re: Temps de réponse