Java Mailing List Archive

http://www.dba.5341.com/

Home » Home (12/2007) » oracle l »

RE: how to tell if you are getting a partition wise join

Christian Antognini

2006-07-19


Ryan

>My expectation before running this query was:
>1. Each slave will scan a partition
>2. Then eight slaves will each do a partition wise hash join.
>3. The results will queued. The query coordinator will dequeue the results.
>
>Is this a correct interpretation?

Yes.

>I am not sure if the plan says that.
>
>This is the second plan:
>  explain plan for
>     select /*+ parallel (a,8) parallel (b,8) */ count(*)
>     from hash_test_a partition(HASH_TEST_A01) a, hash_test_c partition(HASH_TEST_A01) b
>    where a.object_id = b.object_id

A join is executed using a full partition-wise join if the partition row source appears before the join row source. According to your attachment this is your case. If you use, for example, 6 slaves, you should see a different execution plan.

>I read the partition docs and it does not give examples of partition wise join explain plans.

AFAIK the Data Warehousing Guide describes partition wise joins quite well.


HTH
Chris

--
http://www.freelists.org/webpage/oracle-l


©2008 dba.5341.com - Jax Systems, LLC, U.S.A.