salut à tous,

Voilà j'ai une autre requête que je voudrais optimiser :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Update tab1 set
FLAG_CLIENT = w_client
, FLAG_LIGNE = (select case when w_client > FLAG_LIGNE then w_client else FLAG_LIGNE end from dual)
where status = 'NEW'
and FLAG_EQUILIBRE = '0'
and not exists ( select 'x' from tab2 where tab2.CLIENT = substr(LIGNE_ME,1,16))
J'ai créé 2 indexes sur tab1 :

- le premier avec (status ,FLAG_EQUILIBRE)
- le second avec (substr(LIGNE_ME,1,16))

et sur tab2 :
- un index sur (CLIENT ).

Qu'est ce que vous en pensez?