Bonjour,

J'ai une jointure qui prend un max de temps à s'executer à cause des CASE imbriqués.

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
 
 
 
LEFT JOIN BATCHES BA ON CASE BA.TYPE
	WHEN 'RAW' 
		THEN CASE WHEN h.po_hdr_key = BA.XCOMMANDNO THEN ELSE 0 
			 END 
 
	WHEN 'FP' 
		THEN CASE WHEN d.in_item_key = 'SF900016' OR d.in_item_key LIKE 'BCF%' THEN  
			CASE WHEN h.ln_cdehdr_nocommande = BA.XCOMMANDNO THEN 1
				ELSE 
					CASE WHEN h.ln_cdehdr_nocommande = BA.XCOMMANDNO AND d.en_lot_key = BA.BATCHNO AND d.in_item_key = BA.XCODEADAGE THEN 1 ELSE 0 END
				END	 
			ELSE 0
			END
	END = 1
Comment optimiser ceci?