Bonjour à tous,
J'aimerais avoir une réponse à ceci:
Dans la requête suivante, le subselect en rouge est il évalué une seule ou plusieurs fois ?
Pour info, le COST donné par l'explain plan est le même que si je fais ceci (le nombre 64 est celui renvoyé par le subselect en question) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select idproj, cat, count(distinct (can||annee||prop||vente||lot)) / (select count(*) from cdp_lots where idproj=2 and sel='O') from v_cdp_cat where idproj=2 group by idproj, catPour moi il execute la subquery pour chaque row du select de base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select idproj, cat, count(distinct (can||annee||prop||vente||lot)) / 64 from v_cdp_cat where idproj=2 group by idproj, cat
Merci d'avance.
Partager