|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Bonjour,
J'ai une requête assez complexe sur un Univers BO qui attaque une base DB2. Lorsque je lance cette requête via webi (avec un document basique sans mise en forme, juste sous forme d'un tableau) elle tourne indéfiniment. Lorsque je lance la même requête sql directement à partir d'un éditeur de requête sur la base DB2 j'ai une réponse en moins d'une minute. Qu'est-ce qui peut bloquer ainsi webi pour ne pas renvoyer de réponse? |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Consultant Décisionnel SAP BO TALEND Inscription : juillet 2007 Messages : 71 ![]() |
Salut
A quoi resseble cette requête outrement longue ? ![]() Tu ne donnes pas du tout d'infos pour qu'on t'aide. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 7 ![]() |
Bonjour nicoaix,
je ne connais pas bien DB2, d'où cette question : es tu certain d'avoir toutes les lignes de résultat en moins d'une minute ? Connais tu les index disponibles ? LC |
|
|
00
|
|
|
#4 | ||||
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Je veux bien vous donner la requete mais je ne suis pas sur que ça vous parle beaucoup.
Code :
Apparemment ce qui pose problème c'est le champ IMAGIN.ETA.SIG_ETA ou la jointure sur laquelle il s'appuie FULL OUTER JOIN IMAGIN.ETA ON (IMAGIN.MIS.COD_ETA=IMAGIN.ETA.COD_ETA) En effet si j'arrete le select avant le champ IMAGIN.ETA.SIG_ETA la requete avec 'Durand' prend moins d'une seconde. Code :
|
||||
|
|
00
|
|
|
#5 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Bonjour,
Je pense qu'il s'agit ici d'optimisation de requête. As-tu envoyé cette requête à tes DBA pour qu'ils puissent l'analyser ? As-tu lancé un plan d'exécution dessus ?
__________________
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Chef de projet MOA Inscription : décembre 2004 Messages : 561 ![]() |
Le probleme c'est que mon dba ne souhaites pas m'aider à résoudre ce pb...faut que je me débrouille tout seul.
|
|
|
00
|
|
|
#7 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Ok... Sympa les dba ! L'esprit d'équipe, ils connaissent pas
![]() j'avoue ne pas être chaud pour analyser ton SQL dans l'immédiat, par contre, si tu as un modèle de données, genre un bout d'univers qui correspondrait à tes jointures (avec les cardinalités), je pourrais jeter un coup d'oeil plus rapidement. En parallèle, essaye de poster ton code SQL dans le forum adéquat en expliquant bien ton problème et en mettant un titre explicite A froid comme ca, je n'aime pas tous tes full outer join et left outer join. C'est pour ca que je voudrais voir le modèle pour analyser plus rapidement.
__________________
|
|
|
00
|
|
|
#8 | |
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 7 ![]() |
Citation:
![]() Le pb n'est peut être pas dû à la jointure avec ETA mais à une des autres jointures "OUTER". Si une de ces liaisons te ramène 50 records, ça peut créé des soucis avec ETA. Il te faudrait c'est vrai, un plan d'exécution pour y voir plus clair mais ce ne sera plus dans mes compétences. LC |
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Consultant Décisionnel SAP BO TALEND Inscription : juillet 2007 Messages : 71 ![]() |
Hello
Depuis que je travaille, je ne suis jamais tombé sur un DBA sympa. Franchement, si tu ne maitrises pas tout le modèle de données. Je trouve que combiner INNER JOIN + FULL OUTER JOIN + LEFT OUTER JOIN c'est mortel. Perso fait toi aider par des gens qui connaissent les données. Ya certainement plus simple à faire. De plus il parait que faire les jointures suivant l'autre methode, ça consomme bcp moins jointures dans le WHERE). pour 8 millions de lignes dans 3 tables avec LEFT, INNER ça met trois plombes. Les jointures dans la clause Where ça y va sous 3 min (ORA10) Bo courage |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com