|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2007 Messages : 14 ![]() |
Bonjour,
J'aurai une question concernant l'optimisation de requête sous oracle. J'aimerai optimiser le temps d'exécution d'une requête mais malgré mes certaines modifications soit disant qui devrait raccourcir le temps d'exécution, il reste inchangé et le plan d'exécution pour les 2 requêtes écrites différement est le même. voici les 2 requêtes : Requête d'origine : Citation:
Citation:
Si vous pouvez m'aiguillé merci. Le plus important c'est la table ELM_MVT_STOCK qui retourne environ 997000 lignes, pour environ 2min30 d'exécution ... !! |
||
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Pourriez-vous faire ceci
(a) set linesize 150; (b) executez votre requête (c) immediatement après Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 14 ![]() |
Bonjour,
J'ai envoyé votre requête à notre dba, il est absent pour le moment je vous ferai un retour dès que possible sur le dbms_xplan. je ne suis pas en mesure d'exécuter de requête directement sur notre base. Merci, |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
pourquoi faites vous des doubles casts dans votre clause select
Code :
to_date(to_char(EMS.DT_PHYSIQUE, 'mm/yyyy'), 'mm/yyyy') >= to_date(to_char(ADD_MONTHS (SYSDATE,-1), 'mm/yyyy'), 'mm/yyyy') Avez vous essayer de les simplifier : Code :
EMS.DT_PHYSIQUE>=ADD_MONTHS (SYSDATE,-1)
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 14 ![]() |
Merci je vais essayer !
je n'ai toujours pas de retour de notre dba Cdt, |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
L’idée que les joins ANSI sont plus optimales que les joins non ANSI est complètement farfelue en ce qui concerne Oracle.
Qu'est-ce que vous avez en termes de volumétrie et indexes ? Sur quelle version d’Oracle vous travaillez ? Demandez à votre DBA de s’assurer que les statistiques des tables concernées sont à jour. [EDIT] Les Upper, to_char etc. sur les conditions de jointure ont une fâcheuse tendance de faire sauter des possibles indexes dans les plans d’exécution. [/EDIT] |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com