Re: Optimizer not pushing filters down into view >
> General clues:
>
> The predicates you supplied can be propagated
> and moved by transitive closure, but I can't tell
> whether that's relevant because you have to look
> at the dbms_xplan() output to see what predicates
> Oracle is using. Note particularly that your join
> predicate CAN disappear, or be supplemented by
> an extra constant predicate.
>
Jonathan,
I appreciate you taking a look at this, thanks.
I think you've hit the nail on the head.... When you mentioned
transitive closure you got me thinking.
I first tried running the query with a join condition which differed
from the filter condition. This pushed the filters down into the
table.
So I now have a workaround which is to add a ||'' (i.e. a null string)
to the end of each joined column.
This fixes the issue (as a workaround).
I'm still waiting for Oracle support to tell me whether this is a bug
or a 'feature'.
Thanks very much for your time.
Matt |