Tanel Poder zeigt, dass der Optimizer in 12c in vielen Fällen dazu in der Lage ist, scalar subqueries im Rahmen der Transformationsphase zu einem Outer Join umzuwandeln, was in sehr vielen Fällen eine gute Idee sein dürfte. Im CBO Trace erscheint diese Umformung als "SU: Unnesting scalar subquery query block". Der Herr Poder erläutert auch noch mal, dass es nicht allzu viele gute Gründe für die Verwendung von scalar subqueries gibt, die sich dennoch einer gewissen Popularität erfreuen - vor allem bei SQL-agnostischen Entwicklern. Ich muss allerdings gestehen, dass ich sie in der Vergangenheit auch schon in Fällen herangezogen habe, in denen ich mir völlig sicher sein wollte, meine Ergebnismenge nicht durch einen verpfuschten Join zu vergrößern...
Keine Kommentare:
Kommentar veröffentlichen