Bonjour,
Me revoilà avec un nouveau problème existentiel autour du temps mis par mon script pour s'exécuter. Ci-dessous un bout de mon code un peu simplifié.
La table lue RDD_ASS fait environ 15000 lignes. Ma fonction de debug qui s'exécute dans une transaction autonome me permet de me rendre compte (non sans un certain effroi) qu'il faut plusieurs secondes par tour de boucle !!!!!
Des idées pour me sauver la vie ?
Merci, bon appétit parce que l'heure approche
Frédéric
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 FOR vass IN (SELECT * FROM RDD_ASS WHERE NUMCMR = tabCmr(i) ) LOOP BEGIN SELECT I_ID_INDV INTO num FROM ASSU_COURANT@BDUDAC WHERE I_CD_NIRNIP = vass.NIR AND AV_ID_CMR = vass.NUMCMR; debug('étape 5 - 1 2 ', 'T'); EXCEPTION WHEN TOO_MANY_ROWS THEN -- WHEN NO_DATA_FOUND THEN -- END; END LOOP;
Partager