Temps d'éxécution requête Oracle Sql trop longue - SQL/NoSQL - Programmation
Marsh Posté le 11-07-2012 à 19:55:09
Une petite amélioration consisterait à simplifier :
WHERE to_char(DATEACTION,'YYYYMM') >= to_char(to_date(date1,'MM/YYYY'),'YYYYMM')
AND to_char(DATEACTION,'YYYYMM') <= to_char(to_date(date2,'MM/YYYY'),'YYYYMM')
par :
WHERE DATEACTION >= to_date(date1,'MM/YYYY')
AND DATEACTION <= to_date(date2,'MM/YYYY')
Marsh Posté le 10-07-2012 à 18:58:12
Bonjour tout le monde,
Je travaille sur Base oracle, depuis peu ma rêquete de récupération de logs est très longue.
Table Log : 92 1506 enregistrements.
Pouvez-vous me donner une piste?
Voici ma requête:
SELECT to_char(b.DATEACTION,'HH24:MI:SS') as HEURE, b.*
FROM (
SELECT a.*, ROWNUM AS NUMERO
FROM ( SELECT l.*
FROM LOG l
WHERE to_char(DATEACTION,'YYYYMM') >= to_char(to_date(date1,'MM/YYYY'),'YYYYMM')
AND to_char(DATEACTION,'YYYYMM') <= to_char(to_date(date2,'MM/YYYY'),'YYYYMM')
ORDER BY ID DESC,DATEACTION DESC
) a
)b
WHERE NUMERO BETWEEN rowMIN and rowMAX
Comment optimiser cette requête?
Merci d'avance