Jonathan Lewis zeigt in seinem Blog, dass der Optimizer bei MINUS-Operationen nicht unbedingt immer das Offensichtliche erkennt: sein Beispiel selektiert aus einer Tabelle ohne Datensätze von der eine sehr große Menge über MINUS abgezogen wird. Angesichts der Tatsache, dass nach dem Scan der ersten Tabelle klar sein sollte, dass die Ergebnismenge leer bleiben wird, könnte man erwarten, dass der Optimizer auf den Scan der zweiten Tabelle verzichten kann - aber das tut er nicht. Der Autor liefert auch noch einen Trick, mit dem sich das Verhalten korrigieren lässt, aber merkwürdig bleibt es allemal.
Keine Kommentare:
Kommentar veröffentlichen