On Thu, Apr 1, 2021 at 10:12 PM Amit Langote <amitlangote09@gmail.com> wrote:
>
> On Thu, Apr 1, 2021 at 3:12 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Amit Langote <amitlangote09@gmail.com> writes:
> > > [ v14-0002-Initialize-result-relation-information-lazily.patch ]
> > Needs YA rebase over 86dc90056.
>
> Done. I will post the updated results for -Mprepared benchmarks I did
> in the other thread shortly.
Test details:
pgbench -n -T60 -Mprepared -f nojoin.sql
nojoin.sql:
\set a random(1, 1000000)
update test_table t set b = :a where a = :a;
* test_table has 40 columns and partitions as shown below
* plan_cache_mode = force_generic_plan
Results:
nparts master patched
64 6262 17118
128 3449 12082
256 1722 7643
1024 359 2099
* tps figures shown are the median of 3 runs.
So, drastic speedup can be seen by even just not creating
ResultRelInfos for child relations that are not updated, as the patch
does. I haven't yet included any changes for AcquireExecutorLocks()
and ExecCheckRTPerms() bottlenecks that still remain and cause the
drop in tps as partition count increases.
--
Amit Langote
EDB: http://www.enterprisedb.com