Re: Performance degradation of REFRESH MATERIALIZED VIEW - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Performance degradation of REFRESH MATERIALIZED VIEW
Date
Msg-id 20210511172500.adztpgg4vbnjdeca@alap3.anarazel.de
Whole thread Raw
In response to Re: Performance degradation of REFRESH MATERIALIZED VIEW  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
Responses Re: Performance degradation of REFRESH MATERIALIZED VIEW
List pgsql-hackers
Hi,

On 2021-05-11 16:07:44 +0200, Tomas Vondra wrote:
> On 5/11/21 11:04 AM, Masahiko Sawada wrote:
> > I think the changes for heap_multi_insert() are fine so we can revert
> > only heap_insert() part if we revert something from the v14 tree,
> > although we will end up not inserting frozen tuples into toast tables.
> > 
> 
> I'd be somewhat unhappy about reverting just this bit, because it'd mean
> that we freeze rows in the main table but not rows in the TOAST tables (that
> was kinda why we concluded we need the heap_insert part too).

Is there a reason not to apply a polished version of my proposal? And
then to look at the remaining difference?


> I'm still a bit puzzled where does the extra overhead (in cases when freeze
> is not requested) come from, TBH. Intuitively, I'd hope there's a way to
> eliminate that entirely, and only pay the cost when requested (with the
> expectation that it's cheaper than freezing it that later).

I'd like to see a profile comparison between those two cases. Best with
both profiles done in master, just once with the freeze path disabled...

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: seawasp failing, maybe in glibc allocator
Next
From: Bruce Momjian
Date:
Subject: Re: PG 14 release notes, first draft