Re: Performance degradation of REFRESH MATERIALIZED VIEW

From: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, Paul Guo <guopa(at)vmware(dot)com>
Subject: Re: Performance degradation of REFRESH MATERIALIZED VIEW
Date: 2021-06-02 23:02:17
Message-ID: 6ec13d24-af94-c8f7-8b92-52c53195256e@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

OK,

As mentioned in the previous message, I've reverted most of 39b66a91bd.
It took a bit longer to test, because the revert patch I shared a couple
days ago was actually incorrect/buggy in one place.

I'm not entirely happy about the end result (as it does not really help
with TOAST tables), so hopefully we'll be able to do something about
that soon. I'm not sure what, though - we've spent quite a bit of time
trying to address the regression, and I don't envision some major
breakthrough.

As for the regression example, I think in practice the impact would be
much lower, because the queries are likely much more complex (not just a
seqscan from a table), so the query execution will be a much bigger part
of execution time.

I do think the optimization would be a win in most cases where freezing
is desirable. From this POV the problem is rather that REFRESH MV does
not allow not freezing the result, so it has to pay the price always. So
perhaps the way forward is to add "NO FREEZE" option to REFRESH MV, or
something like that.

regards

--
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 Jeff Davis 2021-06-02 23:17:58 Decoding of two-phase xacts missing from CREATE_REPLICATION_SLOT command
Previous Message Marko Tiikkaja 2021-06-02 22:55:39 Re: security_definer_search_path GUC