From: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
---|---|
To: | David Rowley <dgrowleyml(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Memory consumed by paths during partitionwise join planning |
Date: | 2023-12-14 12:04:07 |
Message-ID: | CAExHW5uDkMQL8SicV3_=AYcsWwMTNR8GzJo310J7sv7TMLoL6Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Dec 7, 2023 at 6:19 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>
> Maybe we can try to move forward with your refcount idea and see how
> the performance looks. If that's intolerable then that might help us
> decide on the next best alternative solution.
>
Here are performance numbers
setup
create table t1 (a integer primary key, b integer);
create table t1_parted (a integer primary key, b integer) partition by range(a);
create 1000 partitions of t1
query (a five way self-join)
select * from t1 a, t1 b, t1 c, t1 d, t1 e where a.a = b.a and b.a =
c.a and c.a = d.a and d.a = e.a -- unpartitioned table case
select * from t1_parted a, t1_parted b, t1_parted c, t1_parted d,
t1_parted e where a.a = b.a and b.a = c.a and c.a = d.a and d.a =
e.a; -- partitioned table case
The numbers with patches attached to [1] with limitations listed in
the email are thus
Ran each query 10 times through EXPLAIN (SUMMARY) and averaged
planning time with and without patch.
unpartitioned case
without patch: 0.25
with patch: 0.19
this improvement is probably misleading. The planning time for this
query change a lot.
partitioned case (without partitionwise join)
without patch: 14580.65
with patch: 14625.12
% degradation: 0.3%
partitioned case (with partitionwise join)
without patch: 23273.69
with patch: 23328.52
% degradation: 0.2%
That looks pretty small considering the benefits. What do you think?
--
Best Wishes,
Ashutosh Bapat
From | Date | Subject | |
---|---|---|---|
Next Message | Julien Rouhaud | 2023-12-14 12:32:41 | Re: btree_gist into core? |
Previous Message | Andrey M. Borodin | 2023-12-14 11:56:50 | Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock |