Temps d'exécution requête Oracle sql trop Longue

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Temps d'exécution requête Oracle sql trop Longue

Re: Temps d'exécution requête Oracle sql trop Longue

par moogli » 10 juil. 2012, 20:11

salut,

sans la structure de la table et ce que tu souhaite on ne peux pas tester :)

pourquoi 3 requêtes imbriquées ?

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')


Pourquoi ne pas simplement comparer les dates ?

si dateaction n'est pas un champ date c'est une erreur :)

@+

Temps d'exécution requête Oracle sql trop Longue

par fatfat45 » 10 juil. 2012, 19:05

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