Nous avons 2 requêtes une utilise la table dual pour acceder à des fonctions l'autre utilise les fonctions directement
Exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from toto where toto.cod = (select f_ret_code from dual)Suivant les plans d'exécution suivant, pouvez me donner le gain de temps ou de block monté en mémoire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from toto where toto.cod = f_ret_code
Avec DUAL
Sans DUAL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop SELECT STATEMENT Optimizer Mode=CHOOSE 1 K 681 TABLE ACCESS FULL ETOILE.AC_CONDPART_GLC 1 K 201 K 681 TABLE ACCESS FULL SYS.DUAL 8 K 25 TABLE ACCESS FULL SYS.DUAL 8 K 25 TABLE ACCESS FULL SYS.DUAL 8 K 25
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop SELECT STATEMENT Optimizer Mode=CHOOSE 1 K 876 TABLE ACCESS FULL ETOILE.AC_CONDPART_GLC 1 K 201 K 876
Partager