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: how to tell if you are getting a partition wise join

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

From: Christian Antognini <Christian.Antognini_at_trivadis.com>
Date: Thu, 20 Jul 2006 00:06:38 +0200
Message-ID: <F2C9CCA71510B442AF71446CAE8AEBAF614F69@MSXVS04.trivadis.com>


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
Received on Wed Jul 19 2006 - 17:06:38 CDT

Original text of this message

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