Parallel execution - iterate over all hash partitioned table
This operation is implemented in the following versions
This example was developed using Oracle 10.2.0.1 on Linux
This example requires the following table definitions
CREATE TABLE t1 ( c1 NUMBER, c2 NUMBER, c3 NUMBER, c4 CHAR (100) ) PARTITION BY HASH (c1) PARTITIONS 4; CREATE TABLE t2 ( c1 NUMBER, c2 NUMBER, c3 NUMBER, c4 CHAR (100) ) PARTITION BY HASH (c1) PARTITIONS 4;
SELECT /*+ PARALLEL (t1,4) */ t2.c2 FROM t1,t2 WHERE t1.c1 = t2.c1;
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 PX COORDINATOR 2 1 PX SEND (QC (RANDOM)) 3 2 HASH JOIN 4 3 PX PARTITION HASH (ALL) 5 4 TABLE ACCESS (FULL) OF 'T1' 6 3 BUFFER (SORT) 7 6 PX RECEIVE 8 7 PX SEND (PARTITION (KEY)) 9 8 PARTITION HASH (ALL) 10 9 TABLE ACCESS (FULL) OF 'T2'