Re: Parallel hint ignored only in subquery
Date: Fri, 25 Jul 2008 09:17:02 +0100
I think that's true in a general sense, however the hint syntax makes the distinction because there is a big difference to the optimizer between the two constructions, and between the two transformations that can be applied to them.
From the documentation:
The MERGE hint lets you merge views in a query. The NO_MERGE hint instructs the optimizer not to combine the outer query and any inline view queries into a single query.
The UNNEST hint instructs the optimizer to unnest and merge the body of
the subquery into the body of the query block that contains it, allowing
the optimizer to consider them together when evaluating access paths and
Use of the NO_UNNEST hint turns off unnesting. "
So it's MERGE/NO_MERGE for inline views, UNNEST/NO_UNNEST for subqueries (in the classic sense). I can never remember which is which and I always have to double-check. Hmm, "SUBQUERY" and "UNNEST" both have the letter "U" - maybe I'll use that to remind me from now on.
From: Rich Jesse
Date: 24/7/08 20:44
> Relationally speaking, I thought that an inline view was just one type of
> subquery, no?
> I did not try the NO_MERGE until just now and it works! I learned something
> new today, or at least I learned that I'll have to learn more about
> Thanks, Amit!
>> This is not a subquery but an inline view.
>> Did you try no_merge hint