From EShevtsov@flagship.ru Thu, 13 Sep 2001 12:31:44 -0700 From: "Shevtsov, Eduard" Date: Thu, 13 Sep 2001 12:31:44 -0700 Subject: Re: USE_NL with or without ORDERED Message-ID: MIME-Version: 1.0 Content-Type: text/plain !! Please do not post Off Topic to this List !! Hi Christian, Sorry, I'm not sure I share your opinion. CBO can decline hint only if the path is not possible at all. It doesn't matter whether statistics exist or not. AFAIK that's the idea of hints. As you can see earlier that path (N-L) is possible for the join. Thanks, Ed > !! Please do not post Off Topic to this List !! > > Using hints don't force Oracle to use the path choosen > when you write the query. Much more true in a join > operation where Oracle has many choices. What you do > is to restrict options. However Oracle have to look at > the statistics for a final decision. > > Appart from what I said, are your statistics accurated > ?. Try without aliases not only in the hint, also for > the whole query. Are both tables indexed ?. Maybe is > because of the cost of the unique scan of the index. > The emp_id it is a sequence. If this is the case, > maybe the clustering of the index is too high. > > Regards. > > > --- "Shevtsov, Eduard" wrote: > > !! Please do not post Off Topic to this List !!Hi > > List, > > > > did anybody notice that sometimes CBO ignores USE_NL > > hint without ORDERED > > > > The following example was taken from oracle docs: > > > > SQL> > > SQL> > > SQL> select name, value > > 2 from v$parameter > > 3 where name = 'optimizer_mode'; > > > > NAME > > ----------------------------------- > > VALUE > > ----------------------------------- > > optimizer_mode > > CHOOSE > > > > SQL> desc employees > > Name > > -------------------- > > EMP_ID > > MGR_ID > > LAST_NAME > > FIRST_NAME > > HIREDATE > > JOB > > SALARY > > > > SQL> desc courses > > Name > > -------------------- > > CRS_ID > > SHORT_NAME > > DESCRIPTION > > DAYS > > DEV_ID > > CAT_ID > > LAST_UPDATE > > > > SQL> explain plan set statement_id = '37' > > 2 for > > 3 select /*+ ordered use_nl(e) */ > > 4 e.first_name > > 5 , e.last_name > > 6 , c.short_name > > 7 from courses c, employees e > > 8 where e.emp_id = c.dev_id > > 9 ; > > > > Explained. > > > > SQL> @opt\explain_n > > statement id: 37 > > > > Query Plan > > ------------------------------------------ > > SELECT STATEMENT Cost = 1022 > > NESTED LOOPS > > TABLE ACCESS FULL COURSES > > TABLE ACCESS BY INDEX ROWID EMPLOYEES > > INDEX UNIQUE SCAN EMP_PK > > > > SQL> ed > > Wrote file afiedt.buf > > > > 1 explain plan set statement_id = '38' > > 2 for > > 3 select /*+ use_nl(e) */ > > 4 e.first_name > > 5 , e.last_name > > 6 , c.short_name > > 7 from courses c, employees e > > 8* where e.emp_id = c.dev_id > > SQL> / > > > > Explained. > > > > SQL> @opt\explain_n > > statement id: 38 > > > > Query Plan > > ----------------------------------------- > > SELECT STATEMENT Cost = 84 > > HASH JOIN > > TABLE ACCESS FULL COURSES > > TABLE ACCESS FULL EMPLOYEES > > > > > > QUESTION: why does the CBO ignore USE_NL without > > ORDERED ? > > > > > > Regards, > > Ed > > -- > > Please see the official ORACLE-L FAQ: > > http://www.orafaq.com > > -- > > Author: Shevtsov, Eduard > > INET: EShevtsov@flagship.ru > > > > 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@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). > > > ===== > Eng. Christian Trassens > Senior DBA > Systems Engineer > ctrassens@yahoo.com > ctrassens@hotmail.com > Phone : 541149816062 > > __________________________________________________ > Terrorist Attacks on U.S. - How can you help? > Donate cash, emergency relief information > http://dailynews.yahoo.com/fc/US/Emergency_Information/ > -- > Please see the official ORACLE-L FAQ: http://www.orafaq.com > -- > Author: Christian Trassens > INET: ctrassens@yahoo.com > > 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@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). > -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Shevtsov, Eduard INET: EShevtsov@flagship.ru 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@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).