Re: Partition-wise join for join between (declaratively) partitioned tables

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Rafia Sabih <rafia(dot)sabih(at)enterprisedb(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Partition-wise join for join between (declaratively) partitioned tables
Date: 2017-07-20 06:16:57
Message-ID: a225a752-fea8-dbfa-eba1-55b4d36a8327@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017/07/20 15:05, Ashutosh Bapat wrote:
> On Wed, Jul 19, 2017 at 9:54 AM, Rafia Sabih
> <rafia(dot)sabih(at)enterprisedb(dot)com> wrote:
>>
>> Partition information:
>> Type of partitioning - single column range partition
>> Tables partitioned - Lineitem and orders
>>
>> Lineitem -
>> Partition key = l_orderkey
>> No of partitions = 18
>>
>> Orders -
>> Partition key = o_orderkey
>> No of partitions = 11
>>
>
> The patch set upto 0015 would refuse to join two partitioned relations
> using a partition-wise join if they have different number of
> partitions. Next patches implement a more advanced partition matching
> algorithm only for list partitions. Those next patches would refuse to
> apply partition-wise join for range partitioned tables. So, I am
> confused as to how come partition-wise join is being chosen even when
> the number of partitions differ.

In 21_part_patched.out, I see that lineitem is partitionwise-joined with
itself.

> Append

-> Hash Semi Join
Hash Cond: (l1.l_orderkey = l2.l_orderkey)
Join Filter: (l2.l_suppkey <> l1.l_suppkey)
Rows Removed by Join Filter: 395116

-> Parallel Seq Scan on lineitem_001 l1
Filter: (l_receiptdate > l_commitdate)
Rows Removed by Filter: 919654

-> Hash
Buckets: 8388608 Batches: 1 Memory Usage: 358464kB
-> Seq Scan on lineitem_001 l2

Thanks,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-07-20 06:17:38 Re: Error while copying a large file in pg_rewind
Previous Message Julien Rouhaud 2017-07-20 06:13:02 Re: [PATCH] pageinspect function to decode infomasks