Re: [COMMITTERS] pgsql: Fix cardinality estimates for parallel joins.

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Fix cardinality estimates for parallel joins.
Date: 2017-01-17 16:49:44
Message-ID: CA+TgmoZaWD=rS9xWYK+J_MTYqpDrXnc+VVN6JfirzDwd=BXW7g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Mon, Jan 16, 2017 at 7:23 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> On Sat, Jan 14, 2017 at 12:07 AM, Robert Haas <rhaas(at)postgresql(dot)org> wrote:
>> Fix cardinality estimates for parallel joins.
>>
>
> + /*
> + * In the case of a parallel plan, the row count needs to represent
> + * the number of tuples processed per worker.
> + */
> + path->rows = clamp_row_est(path->rows / parallel_divisor);
> }
>
> path->startup_cost = startup_cost;
> @@ -2014,6 +1996,10 @@ final_cost_nestloop(PlannerInfo *root, NestPath *path,
> else
> path->path.rows = path->path.parent->rows;
>
> + /* For partial paths, scale row estimate. */
> + if (path->path.parallel_workers > 0)
> + path->path.rows /= get_parallel_divisor(&path->path);
>
>
> Isn't it better to call clamp_row_est in join costing functions as we
> are doing in cost_seqscan()? Is there a reason to keep those
> different?

No, those should probably be changed to match.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2017-01-17 17:48:54 pgsql: Rename C symbols for backend lo_ functions
Previous Message Tom Lane 2017-01-17 16:25:57 Re: pgsql: doc: Update URL for Microsoft download site

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-01-17 16:54:57 Re: Declarative partitioning - another take
Previous Message Stephen Frost 2017-01-17 16:44:49 Re: [PATCH] Rename pg_switch_xlog to pg_switch_wal