|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 7 ![]() |
Salut à tous !!
Voila j'effectue une requete sur une base db2 à partir de php. Ma requete en question doit m'afficher la liste des factures et avoirs à partir d'un numero de client. Après mes 2jointures J'ai donc 3conditions
Mais ceci ne me donne pas de code d'erreur ni de resultat (ma page se charge en continue et ne s'arrete pas) Est ce la bonne syntaxe pour pouvoir avoir mes 2types de factures en sortie. Merci de m'eclairer car la je n'ai vraiment plus d'idée |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() ![]() Inscription : mai 2005 Messages : 414 ![]() |
déjà tu peux enlever ce "or" particulièrement laid pour DB2 et le modifier en un prédicat sur lequel il pourra utiliser des index
Et si tu passes ta requete hors PHP, c'est à dire directement sur la base, ca fait quoi? Tu as beaucoup de volumétrie dans ces tables? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 7 ![]() |
Merci gregory !!
C cool ca fonctionne ! Pour répondre à ta question sur le volume de mes tables, pour certaines elles sont assez chargées à telle point que pour certaines requetes j'ai un warning sur le temps d'execution m'indiquant qu'elle a excédée le temps max de 30secondes. Ou puis je et comment augmenter ce temps d'execution Ou puis je trouver une bonne doc sur la syntaxe sql propre à db2 ?? |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() ![]() Inscription : mai 2005 Messages : 414 ![]() |
Pour augmenter ce temps d'exécution????
Remettre le 'or' et supprimer les index sur les colonnes appelées dans tes prédicats!! Par contre, si c'est diminuer, c'est : 1/ Faire un explain sur la requete 2/ Analyser cet explain et trouver les points faibles 3/ Traiter ces points faibles (Ajout d'index,partitionnement, etc...) La meilleure doc sur DB2, tu la trouveras dans les Redbooks http://www.redbooks.ibm.com/ Sinon, tu as la doc en ligne d'IBM http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp |
|
|
00
|
|
|
#5 | |
![]() ![]() |
Citation:
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 7 ![]() |
Salut !!
N'ayant pas accès au paramétrage de la base, aurait il moyen d'augmenter ce temps d'exécution directement dans la requete (paramétrage odbc, php,...) ?? Désolé si j'ai l'air de me répéter mais je debute sur db2 |
|
|
00
|
|
|
#7 | |
![]() ![]() |
Je ne suis pas sur que c'est ce que tu cherche mais voici ce que j'ai trouvé dans l'aide IBM:
QueryTimeoutInterval CLI/ODBC configuration keyword Citation:
Related referenceThis topic can be found in: CLI Guide and Reference, Volume 1. |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 93 ![]() |
pour changer la durée max d'execution de ton script php tu peux faire
set('max_execution_time',99999999999) mais il serait bien plus propre d'optimiser ta requete et surtout de diminuer le plus possible le volume de données retournée parce que les lien odbc entre php et DB2 c'est tout pourrit ![]()
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2006 Messages : 7 ![]() |
Je subodore un problème de logique :
Sinon, on va sortir TOUTES les factures du système, ce qui peut prendre du temps La correction apportée avec le IN est plus classe, mais c'est l'occasion de souligner l'importance des parenthèses... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com