Bonjour
J'ai un question mais je ne trouve pas de reponse satisfaisante dans la FAQ ou ailleurs :
Je travaille en ADO sous Delphi mais j'ai un problème de performance sur une requete Oracle (base Oracle 9i)
J'ai un requete de type
dDateMAx est un parametre auquel je passe ma date buttoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT * FROM ( SELECT i.Valeur AS Valeur,c.DateConsult AS DateConsult FROM Item i INNER JOIN Consultation c ON i.IdConsult = c.IdConsult WHERE DateConsult <= :dDateMax ORDER BY DateConsult DESC ) WHERE ROWNUM <= 10
J'ai un peu plus d'un 1 millions d'item et en gros 50000 consultations.
La requete me prend plus de 13 sec à executer telle quelle.
Or lorsque je supprime le test , le rownum ou le order by, je tombe à 1 sec.
Je trouve la différence importante. Quelle peut être la raison à cela ?
J'ai bien un index sur la DateConsult, les index consult et item, enfin de ce coté là il ne semble pas y avoir de soucis.
Partager