Bonjour,
J'ai un gros soucis de performance avec une requête SQL sous Oracle 9.2.0.8.
Mon plus gros problème: Je ne peux pas modifier la requête SQL car elle est déclenchée par un programme fourni par un Editeur. Le tout, non modifiable.
Je cherche donc tout autre moyen d'améliorer les performances.
Pour vous donner une idée:
- Lorsque cette table contient environ 50000 lignes, la requête prend 2min.
- Lorsque cette table contient environ 100000 lignes, la requête prend 3h00.
Voici la requête:
Voici la description de la table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 UPDATE REQ_APPROVALLOG a1 SET (APPROVAL_START_TIME, APPROVAL_DURATION) = (SELECT MAX(a2.APPROVAL_END_TIME), (a1.APPROVAL_END_TIME - MAX(a2.APPROVAL_END_TIME)) * 86400 FROM REQ_APPROVALLOG a2 WHERE a1.REQUEST_ID = a2.REQUEST_ID AND a1.DATA_SOURCE = a2.DATA_SOURCE AND a1.APPROVAL_END_TIME > a2.APPROVAL_END_TIME);
Desc.txt
Voici un échantillon de données:
Data.txt
Merci d'avance de votre aide.![]()
Partager