Hello Chris,

Please accept my deepest appreciation for your advice - it works and solves the problem at hand. The query now runs in under 4 seconds.

I have some related questions to clarify the situation for me, but they are not urgent any more.

I was not naive enough to ask how to make Oracle always optimize correctly, :-). My biggest frustration was to see Oracle optimize/run independent subqueries without a glitch and then suddenly go complete bonkers when I start applying trivial set operations to their results.

1) What are the practical drawbacks of using ROWNUM > 0 in terms of performance, etc compared with a properly optimized query?

2) Is there a global way to force Oracle to solve the queries involved in an INTERSECT independently? I.e. is there a way to treat INTERSECT as kind of a "hard break" for query optimization?

Thank you again,
Toly