Bonjour,
j'ai un petit souci avec ma requête ,en apparence bête mais très gourmande
Le but est de réduire les performances: actuellement s'execute en 40 sec pour une table énorme mais pour ramener qu'une seule ligne
Ya t'il une façon de l'optimiser ?
J'ai essayé avec ça ,mais rien ...
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
16
17
18
19
20
21
22
23
24
25
26 SELECT B1NOM , B1PRENOM , B1DTN , BVPERMIS , B1NUMERO , B1CCSS FROM DT_EMBAUCHES A WHERE ( A.B1CCSS = 0 AND A.DATEENVOI = (SELECT MAX (B.DATEENVOI) FROM DT_EMBAUCHES B WHERE A.B1NUMERO = B.B1NUMERO) AND A.BVPERMIS = (SELECT MAX (B.BVPERMIS) FROM PROD.DT_EMBAUCHES B WHERE A.B1NUMERO = B.B1NUMERO) AND A.BVPERMIS >= 0 AND A.CODEMVT <> 'AN' AND A.BVPERMIS > 885399 ) ORDER BY A.BVPERMIS OPTIMIZE FOR 12 ROWS
Merci par avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT B.* FROM (SELECT * FROM INCID.DT_EMBAUCHES A WHERE BVPERMIS = (SELECT MAX(BVPERMIS) FROM DT_EMBAUCHES C WHERE A.B1NUMERO = C.B1NUMERO) AND A.B1CCSS = 0 AND A.BVPERMIS > 885399 AND A.CODEMVT <> 'AN') B WHERE B.DATEENVOI = (SELECT MAX(DATEENVOI) FROM IDT_EMBAUCHES C WHERE B.B1NUMERO = C.B1NUMERO)
Marc
Partager