Nous avons 2 requêtes une utilise la table dual pour acceder à des fonctions l'autre utilise les fonctions directement
Exemple
Code: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:select * from toto where toto.cod = f_ret_code
Avec DUAL
Sans DUALCode:
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'avanceCode:
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