Skip to main content

ParallelHashJoin

Short Description

Waiting to synchronize workers during Parallel Hash Join plan execution.

Additional Information​

During Parallel Hash Join execution plans, tasks are allocated to a number of workers. This wait is seen while the synchronisation of communication between these takes place. Parallel Hash Joins build a shared hash table and the parallel probing of this table will wait until all workers have populated their portion.

How to reduce this wait​

Parallel queries are excellent at scanning large amounts of data the quickly returning results. Run in isolation or in a considered manner they are a useful tool.

Do not allow concurrent parallel queries from many users to flood system CPU or IO resources.

Avoid spilling to disk. The shared hash table should if possible remain in memory. Adjust work_mem to ensure this happens where practical.

Adjust max_worker_process , max_parallel_workers and max_parallel_workers_per_gather to control response of your query and overall impact to the system.

PostgreSQL documentation - Parallel Query

PostgreSQL documentation - The Statistics Collector

EDB - Parallel Hash Joins in PostgreSQL Explained

Search online​

If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.