Re: Parallel Index Scans

Gavin Flower <gavinflower@archidevsys.co.nz>

From: Gavin Flower <GavinFlower@archidevsys.co.nz>
To: Amit Kapila <amit.kapila16@gmail.com>, Robert Haas <robertmhaas@gmail.com>
Cc: Michael Banck <michael.banck@credativ.de>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, Anastasia Lubennikova <lubennikovaav@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Rahila Syed <rahilasyed.90@gmail.com>
Date: 2017-03-06T18:49:15Z
Lists: pgsql-hackers
On 07/03/17 02:46, Amit Kapila wrote:
> On Mon, Mar 6, 2017 at 6:49 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> On Mon, Mar 6, 2017 at 6:33 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
>>
>> I was going to do it after index and index-only scans and parallel
>> bitmap heap scan were committed, but I've been holding off on
>> committing parallel bitmap heap scan waiting for Andres to fix the
>> simplehash regressions, so maybe I should just go do an update now and
>> another one later once that goes in.
>>
> As you wish, but one point to note is that as of now parallelism for
> index scans can be influenced by table level parameter
> parallel_workers.  It sounds slightly awkward, but if we want to keep
> that way, then maybe we can update the docs to indicate the same.
> Another option is to have a separate parameter for index scans.
>
>
My immediate gut feeling was to have separate parameters.

On thinking about it, I think they serve different use cases.  I don't 
think of workers when I think of Index scans, and I suspect I'd find 
more reasons to keep them separate if I looked deeper.


Cheers,
Gavin




Commits

  1. Replace min_parallel_relation_size with two new GUCs.

  2. Factor out logic for computing number of parallel workers.

  3. Support condition variables.

  4. Allow parallel custom and foreign scans.

  5. Add a C API for parallel heap scans.