Обсуждение: Parallel Aware

Поиск
Список
Период
Сортировка

Parallel Aware

От
Marwan Almaymoni
Дата:
​Hi,

I'm trying to run my query in parallel mode. I have setup my tables with " WITH(parallel_workers=2)" storage parameter and I've created indexes for needed attributes.
I have also set:
max_worker_processes = 100
max_parallel_workers_per_gather = 2
max_parallel_workers = 100

However, when I uses EXPLAIN to check the query plan​, all of the nodes are set to "Parallel Aware"=false. Am I missing something?

Here is my tables and indexes:
CREATE TABLE t1(id int PRIMARY KEY, name varchar(200)) WITH(parallel_workers=2);
CREATE TABLE t2(id int PRIMARY KEY, fid int, value varchar(200)) WITH(parallel_workers=2);
CREATE INDEX ind_t1_id ON t1 USING HASH (id);
CREATE INDEX ind_t2_fid ON t2 USING HASH (fid);

Here's the query I tested with EXPLAIN:
SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.fid WHERE t1.id > 100;

Re: Parallel Aware

От
jbrant
Дата:
You're not alone - I have the same issue on PostgreSQL 10.3, even with
"force_parallel_mode" enabled and a query plan that includes bitmap heap
scans (which should be parallelizable).



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-general-f1843780.html


Re: Parallel Aware

От
Rafia Sabih
Дата:
On Tue, Feb 27, 2018 at 1:15 AM, Marwan Almaymoni <marwan.mmm@gmail.com> wrote:
> Hi,
>
> I'm trying to run my query in parallel mode. I have setup my tables with "
> WITH(parallel_workers=2)" storage parameter and I've created indexes for
> needed attributes.
> I have also set:
> max_worker_processes = 100
> max_parallel_workers_per_gather = 2
> max_parallel_workers = 100
>
> However, when I uses EXPLAIN to check the query plan, all of the nodes are
> set to "Parallel Aware"=false. Am I missing something?
>
> Here is my tables and indexes:
> CREATE TABLE t1(id int PRIMARY KEY, name varchar(200))
> WITH(parallel_workers=2);
> CREATE TABLE t2(id int PRIMARY KEY, fid int, value varchar(200))
> WITH(parallel_workers=2);
> CREATE INDEX ind_t1_id ON t1 USING HASH (id);
> CREATE INDEX ind_t2_fid ON t2 USING HASH (fid);
>
Parallel index scans/bitmap heap scans are only supported for btree indexes.

> Here's the query I tested with EXPLAIN:
> SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.fid WHERE t1.id > 100;
>



-- 
Regards,
Rafia Sabih
EnterpriseDB: http://www.enterprisedb.com/