bonjour,

il y a la requête suivante qui est exécutée 40 millions de fois

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT*COUNT (DISTINCT T_YYYY.IDT_YYYY)
FROM*XXXXXXX, T_YYYY_DETAIL@ADHCRLINK, T_YYYY*WHERE*XXXXXXX.IDXXXXXXX = :B1
AND*TRIM (XXXXXXX.LA_QUALI) = TRIM (T_YYYY_DETAIL.PFD_DETAIL)
AND*TRIM (T_YYYY_DETAIL.PFD_CODE) = TRIM (T_YYYY.PF_BEPRO)
AND*( XXXXXXX.LA_ZZZZZ IS NULL OR XXXXXXX.LA_ZZZZZ = ? OR ( XXXXXXX.LA_ZZZZZ IS NOT NULL
AND*XXXXXXX.LA_ZZZZZ = T_YYYY.PF_ZZZZZ ) )
via le script suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
#!/bin/bash
source 
/ZVU//libs/
start Utidonnees
 
log_exec sqlplus USER/MDP <<EOF
 
exec uti.ps_axie('Calc');
et une requête dure 25 milisecondes. Soit 25 heures de traitements.

Nous cherchons à améliorer le temps de traitement
N'est-il pas possible d'éviter les 40 millions d'exécutions afin de diminuer le temps de traitements ou optimiser la requête ?