From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)heroku(dot)com> |
Cc: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: ExecGather() + nworkers |
Date: | 2016-03-07 19:43:53 |
Message-ID: | CA+TgmoZVUbf=zevXBY43gFzONDMh+9M=ySGoy8jQc6Pz8Mo_9Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Mar 7, 2016 at 2:13 PM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
> On Mon, Mar 7, 2016 at 4:04 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>> Your point is genuine, but OTOH let us say if max_parallel_degree = 1 means
>> parallelism is disabled then when somebody sets max_parallel_degree = 2,
>> then it looks somewhat odd to me that, it will mean that 1 worker process
>> can be used for parallel query.
>
> I'm not sure that that has to be true.
>
> What is the argument for only using one worker process, say in the
> case of parallel seq scan? I understand that parallel seq scan can
> consume tuples itself, which seems like a good principle, but how far
> does it go, and how useful is it in the general case? I'm not
> suggesting that it isn't, but I'm not sure.
>
> How common is it for the leader process to do anything other than
> coordinate and consume from worker processes?
1 worker is often a very big speedup vs. 0 workers, and the work can
easily be evenly distributed between the worker and the leader.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Fabien COELHO | 2016-03-07 20:10:19 | Re: checkpointer continuous flushing - V18 |
Previous Message | Joshua D. Drake | 2016-03-07 19:35:21 | Re: How can we expand PostgreSQL ecosystem? |