Re: why not parallel seq scan for slow functions
Jeff Janes <jeff.janes@gmail.com>
From: Jeff Janes <jeff.janes@gmail.com>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Amit Khandekar <amitdkhan.pg@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-09-19T21:35:56Z
Lists: pgsql-hackers
Attachments
- parallel_paths_include_tlist_cost_v4.patch (application/octet-stream) patch v4
On Tue, Sep 19, 2017 at 1:17 PM, Thomas Munro <thomas.munro@enterprisedb.com > wrote: > On Thu, Sep 14, 2017 at 3:19 PM, Amit Kapila <amit.kapila16@gmail.com> > wrote: > > The attached patch fixes both the review comments as discussed above. > > This cost stuff looks unstable: > > test select_parallel ... FAILED > > ! Gather (cost=0.00..623882.94 rows=9976 width=8) > Workers Planned: 4 > ! -> Parallel Seq Scan on tenk1 (cost=0.00..623882.94 rows=2494 > width=8) > (3 rows) > > drop function costly_func(var1 integer); > --- 112,120 ---- > explain select ten, costly_func(ten) from tenk1; > QUERY PLAN > ------------------------------------------------------------ > ---------------- > ! Gather (cost=0.00..625383.00 rows=10000 width=8) > Workers Planned: 4 > ! -> Parallel Seq Scan on tenk1 (cost=0.00..625383.00 rows=2500 > width=8) > (3 rows) > that should be fixed by turning costs on the explain, as is the tradition. See attached. Cheers, Jeff
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