From: | Andreas Karlsson <andreas(at)proxel(dot)se> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, David Fetter <david(at)fetter(dot)org> |
Cc: | Claudio Freire <klaussfreire(at)gmail(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: CTE inlining |
Date: | 2017-05-03 19:54:50 |
Message-ID: | a5908071-fdfd-a0e3-e438-60229aa4a3fd@proxel.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 05/03/2017 07:33 PM, Alvaro Herrera wrote:
> 1) we switch unmarked CTEs as inlineable by default in pg11. What seems
> likely to happen for a user that upgrades to pg11 is that 5 out of 10
> CTE-using queries are going to become faster than with pg10, and they
> are going to be happy; 4 out of five are going to see no difference, but
> they didn't have to do anything about it; and the remaining query is
> going to become slower, either indistinguishably so (in which case they
> don't care and they remain happy because of the other improvements) or
> notably so, in which case they can easily figure where to add the
> MATERIALIZED option and regain the original performance.
>
>
> 2) unmarked CTEs continue to be an optimization barrier, but we add
> "WITH INLINED" so that they're inlineable. Some users may wonder about
> it and waste a lot of time trying to figure out which CTEs to add it to.
> They see a benefit in half the queries, which makes them happy, but they
> are angry that they had to waste all that time on the other queries.
>
>
> 3) We don't do anything, because we all agree that GUCs are not
> suitable. No progress. No anger, but nobody is happy either.
+1 for option 1. And while I would not like if we had to combine it with
a backwards compatibility GUC which enables the old behavior to get it
merged I still personally would prefer that over option 2 and 3.
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-05-03 20:22:31 | Re: How huge does mvtest_huge need to be? |
Previous Message | Robert Haas | 2017-05-03 19:49:03 | Re: statement_timeout is not working as expected with postgres_fdw |