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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from toto where toto.cod = f_ret_code
Suivant les plans d'exécution suivant, pouvez me donner le gain de temps ou de block monté en mémoire ?
Avec 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
Sans DUAL
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
Merci d'avance