From: | "Imai, Yoshikazu" <imai(dot)yoshikazu(at)jp(dot)fujitsu(dot)com> |
---|---|
To: | 'Tom Lane' <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Imai Yoshikazu <yoshikazu_i443(at)live(dot)jp>, "jesper(dot)pedersen(at)redhat(dot)com" <jesper(dot)pedersen(at)redhat(dot)com>, 'Amit Langote' <amitlangote09(at)gmail(dot)com>, "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-25 01:47:23 |
Message-ID: | 0F97FA9ABBDBE54F91744A9B37151A512B83AE@g01jpexmbkw24 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Mar 22, 2019 at 9:07 PM, Tom Lane wrote:
> BTW, it strikes me that we could take advantage of the fact that baserels
> must all appear before otherrels in the rel array, by having loops over
> that array stop early if they're only interested in baserels. We could
> either save the index of the last baserel, or just extend the loop logic
> to fall out upon hitting an otherrel.
> Seems like this'd save some cycles when there are lots of partitions,
> although perhaps loops like that would be fast enough to not matter.
Actually, this speeds up planning time little when scanning a lot of otherrels like selecting thousands of partitions. I tested below.
* rt with 8192 partitions
* execute "select * from rt;" for 60 seconds.
[results]
HEAD: 4.19 TPS (4.06, 4.34, 4.17)
(v34 patches) + (looping over only baserels): 4.26 TPS (4.31, 4.28, 4.19)
Attached is the diff I used for this test.
--
Yoshikazu Imai
Attachment | Content-Type | Size |
---|---|---|
looping-over-last-baserel-idx.diff | application/octet-stream | 5.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Chapman Flack | 2019-03-25 01:49:31 | Re: Fix XML handling with DOCTYPE |
Previous Message | Zhang, Jie | 2019-03-25 01:31:51 | ALTER TABLE with ADD COLUMN and ADD PRIMARY KEY USING INDEX throws spurious "column contains null values" |