Boo*_*oom 3 postgresql parallel-processing
我看到很多帖子和论文都设置了以下值:
max_parallel_workers - 将数字设置为核心数。
max_parallel_workers_per_gather - 默认设置为 2 或设置为 max_parallel_workers / 2
使用并行查询时,收益和速度改进基于 max_parallel_workers_per_gather
max_parallel_workers_per_gather = max_parallel_workers?max_parallel_workers_per_gather = max_parallel_workers什么陷阱可以?max_parallel_workers定义一个工人池。运行的每个查询都可以将工作人员从该池中取出,最多可达max_parallel_workers_per_gather
现在,如果您使两个值相同,则意味着查询可能会使用所有可用的工作线程,而同时运行的其他查询无法使用并行查询,即使它确实从中受益。
如果您一次从不运行多个语句,那么您可以将它们设置为相同的值。但是,如果您有一个(繁忙的)系统,在该系统中您希望有许多并发查询并希望其中多个查询从使用多个 worker 中受益,那么最好保持max_parallel_workers_per_gather低于最大值。