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

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: [HACKERS] [COMMITTERS] pgsql: Fix cardinality estimates for parallel joins.
Дата
Msg-id CA+TgmoZaWD=rS9xWYK+J_MTYqpDrXnc+VVN6JfirzDwd=BXW7g@mail.gmail.com
обсуждение исходный текст
Ответы Re: [HACKERS] [COMMITTERS] pgsql: Fix cardinality estimates for parallel joins.  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On Mon, Jan 16, 2017 at 7:23 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Sat, Jan 14, 2017 at 12:07 AM, Robert Haas <rhaas@postgresql.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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: [HACKERS] [PATCH] Rename pg_switch_xlog to pg_switch_wal
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [HACKERS] Declarative partitioning - another take