Hello guys,
i have a question about the FILTER CLAUSE in the execution plan. I have some joins over some tables and the execution plan ends in the following nested loops:
SELECT STATEMENT
FILTER
NESTED LOOPS
NESTED LOOPS
TABLE ACCESS BY INDEX ROWID PR05.TAB_FRIN
The explain plan was generated with the pl/sql developer, but it also looks the same with a manual PLAN_TABLE.
Now i got the following doc:
http://www.digcode.com/default.aspx?page=ed51cde3-d979-4daf-afae-fa6192562ea9&article=424e823f-11fc-4651-bdcb-4c8f48af3f1d
Step 1 performs a filter operation. It accepts row sources from steps 2 and 6, eliminates rows from step 2 that have a corresponding row in step 6, and returns the remaining rows from step 2 to the user or application issuing the statement.
But this step does not make any sense in my case, or?
Why is oracle performing a FILTER over my last nested loop, if no second query exists where some rows can be eliminated?
Thanks and Regards
Stefan