Re: neqjoinsel versus "refresh materialized view concurrently"
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Jeff Janes <jeff.janes@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-13T23:13:52Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@enterprisedb.com> writes: > This looks like an invisible correlation problem. Yeah --- the planner has no idea that the join rows satisfying newdata.* *= newdata2.* are likely to be exactly the ones not satisfying newdata.ctid <> newdata2.ctid. It's very accidental that we got a good plan before. I've not looked to see where this query is generated, but I wonder if we could make things better by dropping the LIMIT 1 and instead using an executor count parameter to stop early. regards, tom lane
Commits
-
Fix performance hazard in REFRESH MATERIALIZED VIEW CONCURRENTLY.
- 1568156d8fe1 10.4 landed
- 6fbd5cce22eb 11.0 landed
- ebcf34d4628e 9.6.9 landed
- c553e4a50743 9.5.13 landed
- b6ba94ec45bb 9.4.18 landed
-
Fix neqjoinsel's behavior for semi/anti join cases.
- 7ca25b7de6ae 11.0 cited