Re: speeding up planning with partitions

From: Imai Yoshikazu <yoshikazu_i443(at)live(dot)jp>
To: "jesper(dot)pedersen(at)redhat(dot)com" <jesper(dot)pedersen(at)redhat(dot)com>, "Imai, Yoshikazu" <imai(dot)yoshikazu(at)jp(dot)fujitsu(dot)com>, 'Amit Langote' <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, 'Amit Langote' <amitlangote09(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: speeding up planning with partitions
Date: 2019-03-21 14:10:59
Message-ID: BYAPR20MB22790FAFA860B03602A9A7B4BC420@BYAPR20MB2279.namprd20.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Jesper,

On 2019/03/20 23:25, Jesper Pedersen wrote:> Hi,
>
> On 3/19/19 11:15 PM, Imai, Yoshikazu wrote:
>> Here the details.
>>
>> [creating partitioned tables (with 1024 partitions)]
>> drop table if exists rt;
>> create table rt (a int, b int, c int) partition by range (a);
>> \o /dev/null
>> select 'create table rt' || x::text || ' partition of rt for values
>> from (' ||
>> (x)::text || ') to (' || (x+1)::text || ');' from generate_series(1,
>> 1024) x;
>> \gexec
>> \o
>>
>> [select1024.sql]
>> \set a random (1, 1024)
>> select * from rt where a = :a;
>>
>> [pgbench]
>> pgbench -n -f select1024.sql -T 60
>>
>>
>
> My tests - using hash partitions - shows that the extra time is spent in
> make_partition_pruneinfo() for the relid_subplan_map variable.
>
> 64 partitions: make_partition_pruneinfo() 2.52%
> 8192 partitions: make_partition_pruneinfo() 5.43%
>
> TPS goes down ~8% between the two. The test setup is similar to the
above.
>
> Given that Tom is planning to change the List implementation [1] in 13 I
> think using the palloc0 structure is ok for 12 before trying other
> implementation options.
>
> perf sent off-list.
>
> [1]
https://www.postgresql.org/message-id/24783.1551568303%40sss.pgh.pa.us
>
> Best regards,
> Jesper
>
>

Thanks for testing.
Yeah, after code looking, I think bottleneck seems be lurking in another
place where this patch doesn't change. I also think the patch is ok as
it is for 12, and this problem will be fixed in 13.

--
Yoshikazu Imai

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2019-03-21 14:26:24 Re: Automated way to find actual COMMIT LSN of subxact LSN
Previous Message Tom Lane 2019-03-21 14:02:40 Re: PostgreSQL pollutes the file system