bonjour
Je souhaite optimiser une requête qui s'exécute selon le rapooert AWR en 1200 fois et chaque exécution prend 7 sec => temps total de 8400 sec ( 2h 20min environ , c'est trop !!!).

Selon le rapport AWR , elle apparait au top des SQL BY ELAPSED TIME.
et elle est surtout bindée (bind variable).

Ma question est :

Quelles sont les causes possibles de l'exécution mutipliée ( 1200 fois dans mon cas) d'une même requête (même sql_id) ?
- Une boucle dans le traitement ?
- L’utilisation d'un index ?
- L'utilisation d'une jointure de type Nested Loop ?
- autre ?

Le traitement générant cette requête est une boîte noire (progiciel).

Afin d'optimiser :
Faut-il dans ce cas focaliser sur le temps d'exécution unitaire ( 7 secondes) pour les optimiser et gagner au final sur le temps total d'exécution.
OU
Eviter cette exécution multipe et essayer de la faire en ONE SHOT par exemple ? En proposant à l'éditeur une autre écriture de la requête ?
merci les optimiseurs

Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id SQL Module SQL Text
8400,00 1200,00 7,00 35.21 89.71 11.38 78f54g5448v23c SQLDEVELOPER SELECT /*+ INDEX(PRO PRODUCTS */ ...