Re: [HACKERS] why not parallel seq scan for slow functions
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Marina Polyakova <m.polyakova@postgrespro.ru>, pgsql-hackers <pgsql-hackers@postgresql.org>,
Jeff Janes <jeff.janes@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>,
Amit Khandekar <amitdkhan.pg@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>,
Michael Paquier <michael.paquier@gmail.com>
Date: 2018-03-26T21:38:44Z
Lists: pgsql-hackers
Attachments
- 0004-Rewrite-the-code-that-applies-scan-join-targets-to-p.patch (application/octet-stream) patch 0004
- 0003-Postpone-generate_gather_paths-for-topmost-scan-join.patch (application/octet-stream) patch 0003
- 0002-CP_IGNORE_TLIST.patch (application/octet-stream) patch 0002
- 0001-Teach-create_projection_plan-to-omit-projection-wher.patch (application/octet-stream) patch 0001
On Sat, Mar 24, 2018 at 9:40 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: > For me, it is equivalent to the master. The average of ten runs on > the master is 20664.3683 and with all the patches applied it is > 20590.4734. I think there is some run-to-run variation, but more or > less there is no visible degradation. I think we have found the root > cause and eliminated it. OTOH, I have found another case where new > patch series seems to degrade. All right, I have scaled my ambitions back further. Here is a revised and slimmed-down version of the patch series. If we forget about "Remove explicit path construction logic in create_ordered_paths" for now, then we don't really need a new upperrel. So this patch just modifies the toplevel scan/join rel in place, which should avoid a bunch of overhead in add_path() and other places, while hopefully still fixing the originally-reported problem. I haven't tested this beyond verifying that it passes the regression test, but I've run out of time for today. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Rewrite the code that applies scan/join targets to paths.
- 11cf92f6e2e1 11.0 landed
-
Teach create_projection_plan to omit projection where possible.
- d7c19e62a8e0 11.0 landed
-
Make the upper part of the planner work by generating and comparing Paths.
- 3fc6e2d7f5b6 9.6.0 cited