Chapter 9, page 33 - Cat-Hash-strophes in the seminar notes. (The page number may have changed a little).
If you have a plan like this, all the leading tables have been hashed into memory at the same time. HASH JOIN TABLE ACCESS (FULL) OF TABLE_4 HASH JOIN TABLE ACCESS (FULL) OF TABLE_3 HASH JOIN TABLE ACCESS (FULL) OF TABLE_2 TABLE ACCESS (FULL) OF TABLE_1 It is true that Oracle only works out the cost of joining two objects at a time - but the actual execution can pass results from stage to step before a step is completed, just like the NL join. In this example, the 10053 trace showed (if I recall correctly): calc 1: join t2 to t1 with swap_join_inputs calc2: join t3 to result1 with swap_join_inputs calc3: join t4 to result2 with swap_join_inputs Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The educated person is not the person who can answer the questions, but the person who can question the answers -- T. Schick Jr One-day tutorials: http://www.jlcomp.demon.co.uk/tutorial.html Three-day seminar: see http://www.jlcomp.demon.co.uk/seminar.html ____UK___November The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html ----- Original Message ----- To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]> Sent: Wednesday, December 31, 2003 12:19 AM > I've alway understood that joining occurs always in two steps, first two > tables, then their result (row source) with next table and so on, so there's > no need for more than 2 hash tables for example? > > Tanel. > -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- 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).