The key problem is called push predicate e.g.
select * from some_view where col1=10; can become
select * from (select * from base_table where col1=10);
No difference in performance.
But sometimes Oracle can´t push predicate as the above example , then it becomes like:
select * from (select * from base_table) where col1=10;
can change dramatically the plan to worse.
Regards
Helio Dias
http://heliodias.com
Leave a Reply