Re: making update/delete of inheritance trees scale better - Mailing list pgsql-hackers

From Tom Lane
Subject Re: making update/delete of inheritance trees scale better
Date
Msg-id 141158.1604095939@sss.pgh.pa.us
Whole thread Raw
In response to Re: making update/delete of inheritance trees scale better  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: making update/delete of inheritance trees scale better  (Heikki Linnakangas <hlinnaka@iki.fi>)
List pgsql-hackers
Heikki Linnakangas <hlinnaka@iki.fi> writes:
> .... But if you do:

> postgres=# explain verbose update tab set a = 1, b = 2;
>                                     QUERY PLAN
> ---------------------------------------------------------------------------------
>   Update on public.tab  (cost=0.00..269603.27 rows=0 width=0)
>     ->  Seq Scan on public.tab  (cost=0.00..269603.27 rows=10028327
> width=14)
>           Output: 1, 2, ctid

> The Modify Table will still fetch the old tuple, but in this case, it's
> not really necessary, because both columns are overwritten.

Ah, that I believe.  Not sure it's a common enough case to spend cycles
looking for, though.

In any case, we still have to access the old tuple, don't we?
To lock it and update its t_ctid, whether or not we have use for
its user columns.  Maybe there's some gain from not having to
deconstruct the tuple, but it doesn't seem like it'd be much.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Parallel copy
Next
From: Daniel Gustafsson
Date:
Subject: Re: contrib/sslinfo cleanup and OpenSSL errorhandling