Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: what's hash-join

Re: what's hash-join

From: PD Miller <millerp_at_caribdata.co.uk>
Date: Thu, 31 May 2001 02:33:45 -0700
Message-ID: <F001.0031536D.20010531022524@fatcity.com>

At 0:16 -0800 31/5/01, Senthil Ganapathi wrote: could tell me what's that
hash-join

Straight from the concepts manual:

To perform a hash join, Oracle follows these steps:

  1. Oracle performs a full table scan on each of the tables and splits each into as many partitions as possible based on the available memory.
  2. Oracle builds a hash table from one of the partitions (if possible, Oracle will select a partition that fits into available memory). Oracle then uses the corresponding partition in the other table to probe the hash table. All partition pairs that do not fit into memory are placed onto disk.
  3. For each pair of partitions (one from each table), Oracle uses the smaller one to build a hash table and the larger one to probe the hash table.

Or to paraphrase: load each table into a set of hash partitions based on the equi-join predicate. Use the smaller hash partition hash values to find the matches in the larger.

Regards

Paul Miller

-- 

-
Carib Data Limited


<mailto:millerp_at_caribdata.co.uk>
<http://www.caribdata.co.uk>
Received on Thu May 31 2001 - 04:33:45 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US