bonjour,
il y a la requête suivante qui est exécutée 40 millions de fois
via le script suivant :
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 ) )
et une requête dure 25 milisecondes. Soit 25 heures de traitements.
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');
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 ?
Partager