Re: making update/delete of inheritance trees scale better

Amit Langote <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-10-29T13:03:33Z
Lists: pgsql-hackers

Attachments

On Sun, Oct 4, 2020 at 11:44 AM Amit Langote <amitlangote09@gmail.com> wrote:
> On Fri, Sep 11, 2020 at 7:20 PM Amit Langote <amitlangote09@gmail.com> wrote:
> > Here are the commit messages of the attached patches:
> >
> > [PATCH v3 1/3] Overhaul how updates compute a new tuple
>
> I tried to assess the performance impact of this rejiggering of how
> updates are performed.  As to why one may think there may be a
> negative impact, consider that ExecModifyTable() now has to perform an
> extra fetch of the tuple being updated for filling in the unchanged
> values of the update's NEW tuple, because the plan itself will only
> produce the values of changed columns.
>
...
> It seems clear that the saving on the target list computation overhead
> that we get from the patch is hard to ignore in this case.
>
> I've attached updated patches, because as Michael pointed out, the
> previous version no longer applies.

Rebased over the recent executor result relation related commits.

-- 
Amit Langote
EDB: http://www.enterprisedb.com

Commits

  1. Rework planning and execution of UPDATE and DELETE.

  2. Faster expression evaluation and targetlist projection.