And if you accidentally don't have Lewis' book then you can get some insight of hash joins in one article and one presentation: http://www.cs.ust.hk/vldb2002/VLDB2002-proceedings/papers/S29P03.pdf http://www.pythian.com/documents/Working_with_Automatic_PGA.ppt Although none of them directly answers to your question... Gints Plivna 2006/11/15, Alberto Dell'Era <alberto.dellera@xxxxxxxxx>:
The algorithm Oracle uses for hash joins is wonderfully explained starting on page 319 of Jonathan Lewis' "Cost Based Oracle", including the memory management and even some events that may help you answer most of your questions about memory sizing. With figures too :) There are three variants of the hash join - optimal, one-pass and multipass - the last one relies heavily on temp for storing intermediate results, the first one uses only memory. I'd suggest that you take a look to the book - it's a difficult topic and I can't claim to have mastered it completely ;) regards Alberto
-- //www.freelists.org/webpage/oracle-l