Question: I want to understand the
no_merge hint and understand when to use the no_merge
hint. Is it true that the no_merge hint has
nothing to do with a merge join?
You are correct, the no_merge
hint has nothing to do with a merge join (or a sort merge
Rather, the no_merge is commonly used in
in-line views (a case where a sub-select exists in the FROM
clause of a SQL statement:
from view1) MY_VIEW,
. . . .
the case above, the no_merge hint tells the SQL optimizer
not to do complex view merging
and to execute the
in-line view before executing the outer query components.
This will make the optimization phase of the SQL
statement run faster because there are less permutations of
In other words, the no_merge hint prevents
Oracle from re-writing the inner query (the in-line view)
and the outer query into a merged view, which may be less
efficient that addressing the inner query directly.
In a nutshell, the no_merge hint instructs the optimizer not
to combine the outer query and any inline view queries into
a single query.
Oracle Training from Don Burleson
The best on site
training classes" are just a phone call away! You can get personalized Oracle training by Donald Burleson, right at your shop!
Burleson is the American Team
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
and include the URL for the page.
Copyright © 1996 - 2020
All rights reserved by
is the registered trademark of Oracle Corporation.