The CBO, presently does quite  a good job. It chooses a sort merge join on
the tables. Given my understanding of the data distribution in the tables,
I agree its the best execution plan. But this kills my temporary
tablespace, ORA-1652. To accomodate this query, I altered the sort area for
the session to a high value, and then, I took a hit on my temporary
tablespace utilization, not withstanding the rather small values for the
extent sizes. And changing it would require me go thru a lot of
bureaucracy, change management controls, approvals, the works.

So, I was actually looking for a way to get around using sort merge joins,
and not compromise on performance.  I would tend to use hash joins, when a
join happens between a smaller row source, and a large one. But that, I
know, is not the case here.  I would like to drive this query via a full
table access, since I expect the query to return me about 90% of the rows
from each table. So, a nested loop is also not feasible.

Left without an option, I guess. Headed now to put in a change management
request :(

Raj





                                                                                       
                               
                    "Stephane                                                          
                               
                    Faroult"               To:     Multiple recipients of list 
ORACLE-L <[EMAIL PROTECTED]>        
                    <sfaroult@oriol        cc:                                         
                               
                    ecorp.com>             Subject:     RE: SMJ, NL or HJ              
                               
                    Sent by:                                                           
                               
                    [EMAIL PROTECTED]                                                    
                               
                    m                                                                  
                               
                                                                                       
                               
                                                                                       
                               
                    May 03, 2002                                                       
                               
                    01:18 PM                                                           
                               
                    Please respond                                                     
                               
                    to ORACLE-L                                                        
                               
                                                                                       
                               
                                                                                       
                               




Depends. The number of rows matching a given FK may vary widely. Collect
stats, and let the CBO decide, it should not have it too wrong in such a
case.

>----- Original Message -----
>From: [EMAIL PROTECTED]
>To: Multiple recipients of list ORACLE-L
><[EMAIL PROTECTED]>
>Sent: Fri, 03 May 2002 08:13:27
>
>Hello Gurus,
>
>A SQL tuning question. Given three large tables
>with the same millions of
>rows, and all three are referenced in a query,
>without any filter, as
>under:
>
>Select ..............................
>from largetableA a, largeTableB b, largeTableC c
>where a.empnum = b.empnum
>and        a.empnum = c.empnum;
>
>What would be the prefered way of joining these
>tables, Merge Join, Nested
>Loops or Hash Joins?
>
>Thanks
>Raj
>
>--
>Please see the official ORACLE-L FAQ:
>http://www.orafaq.com
>--
>Author:
>  INET: [EMAIL PROTECTED]
>
>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: [EMAIL PROTECTED] (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).
>---------------------------------------------------
>-----------------


Regards,

Stephane Faroult
Oriole
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Stephane Faroul
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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: 
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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).

Reply via email to