Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: USE_HASH hint
I find it interesting that the optimizer seems to be increasingly fussy about hints as time passes.
Once upon a time, it used to be the case that hints could be very sketchy and you would get the result you wanted. Now it seems that your hints have to be very precise, or Oracle may find a path that allows it to ignore your hint.
In a recent example I found that in:
select /*+ use_nl(t2) *./
. . .
from t1, t2
etc...
the hint was ignored, and a hash join
was used, but if I used the hints:
/*+ ordered use_nl(t2) */
then the pair of hints was obeyed.
My interpretation was that Oracle examined
paths with the order (t2, t1) since I had not
STOPPED it from considering different orders,
and discovered that a hash join was a good
option - then, having decided that my use_nl
was 'wrong' with respect to its chosen path
it ignored it, but then switched the join inputs
to end up with my desired ordering, but
rejected path.
Jonathan Lewis
http://www.jlcomp.demon.co.uk
Host to The Co-Operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html
Author of:
Practical Oracle 8i: Building Efficient Databases
Screen saver or Life saver: http://www.ud.com Use spare CPU to assist in cancer research.
-----Original Message-----
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
Date: 04 September 2001 22:30
|Thanks for posting the results. I'm endlessly fascinated (and
frustrated)
|by Optimizer behavior.
|
|Jay Miller
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Jonathan Lewis INET: jonathan_at_jlcomp.demon.co.uk Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Tue Sep 04 2001 - 16:23:13 CDT
![]() |
![]() |