Bonjour,

Quand j'exécute une requête SQL, son temps d'exécution est (trop) long. J'ai effectué une trace et j'obtiens le résultat (uniquement le cas pertinent) suivant :

________________________________________________

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT  DATE_BON, 
 AS_PROD_VEHI_ID, 
 BON_NUMERO, 
 BON_SEQUENCE, 
 DB_ELEMENT_ID, 
 ID, 
 DO_LOT_ENT_ID ,
 rowid 
FROM DO_LOT_BON 
WHERE DATE_BON =  :1 AND 
 AS_PROD_VEHI_ID =  :2    AND 
 BON_NUMERO =  :3 AND 
 BON_SEQUENCE =  :4  AND 
 DB_ELEMENT_ID =  :5    
ORDER BY rowid  ASC

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- -------
Parse 2 0.00 0.00 0 0 0 0
Execute 32 0.00 0.00 0 0 0 0
Fetch 32 1.68 9.86 78656 80576 0 32
------- ------ -------- ---------- ---------- ---------- ---------- -------
total 66 1.68 9.86 78656 80576 0 32
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 25  (IDINFO)
 
Rows     Row Source Operation
-------  ---------------------------------------------------
     10  SORT ORDER BY 
     10   TABLE ACCESS FULL DO_LOT_BON 
 
 
Rows     Execution Plan
-------  ---------------------------------------------------
      0  SELECT STATEMENT   GOAL: CHOOSE
     10   SORT (ORDER BY)
     10    TABLE ACCESS   GOAL: ANALYZED (FULL) OF 'DO_LOT_BON'
_____________________________________________________

J'ai déjà modifié (augmenté) le cache tampon (SGA) et la mémoire PGA.

Le résultat obtenu est :
_____________________________________________________

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- -------
Parse 2 0.00 0.00 0 0 0 0
Execute 32 0.00 0.00 0 0 0 0
Fetch 32 2.00 8.07 28027 82804 0 32
------- ------ -------- ---------- ---------- ---------- ---------- -------
total 66 2.00 8.07 28027 82804 0 32
_____________________________________________________
Le temps "elapsed" a diminué, par contre le temps "CPU" a légérement augmenté ainsi que le nombre de "query".

Pourriez-vous m'indiquer ce que je dois faire pour obtenir un temps plus bas? Encore augmenter les 2 paramètres SGA et PGA??

Auriez-vous des références à des documents, forums, ... pour optimiser les requêtes depuis une trace? Car je vois bien qu'il y a un problème et je ne sais pas sur quoi je dois agir pour le corriger.

En vous remerciant d'avance.

Cédric