Re: postgres_fdw batching vs. (re)creating the tuple slots

From: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: postgres_fdw batching vs. (re)creating the tuple slots
Date: 2021-06-04 11:48:13
Message-ID: a3233163-829d-94a0-7ca0-87bdfde92c90@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Here's two WIP patches that fixes the regression for me. The first part
is from [1], so make large batches work, 0002 just creates a copy of the
tupledesc to not cause issues in resource owner, 0003 ensures we only
initialize the slots once (not per batch).

With the patches applied, the timings look like this:

batch timing
----------------------
1 64194.942 ms
10 7233.785 ms
100 2244.255 ms
32k 1372.175 ms

which seems fine. I still need to get this properly tested etc. and make
sure nothing is left over.

regards

[1]
https://postgr.es/m/OS0PR01MB571603973C0AC2874AD6BF2594299%40OS0PR01MB5716.jpnprd01.prod.outlook.com

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2021-06-04 11:52:28 Re: postgres_fdw batching vs. (re)creating the tuple slots
Previous Message Amit Langote 2021-06-04 11:44:30 Re: Skip partition tuple routing with constant partition key