PostgreSQL 9.6并行性不适用于create table?

时间:2016-12-02 12:53:04

标签: parallel-processing postgresql-9.6

我有一个问题 - 当查询包含在" CREATE TABLE"。

中时,查询处理中的并行性似乎现在可用于我的数据库。

普通SELECT完美并行处理,因此速度非常快。在EXPLAIN输出中也显示了并行性,我还可以看到" top"监控。所以它比第9.5页要好得多。

但是当我在CREATE TABLE中使用相同的SELECT时,它会运行很长时间而不是并行运行。它比第9.5页慢得多。在这种情况下,并行性没有显示在EXPLAIN输出中,并且没有后台工作程序在OS中运行。我试着设置" force_parallel_mode" = ON但没有任何变化。

我是否遗漏了一些神奇的设置,应该从标准设置更改为在CREATE TABLE中使用并行性?或者这是预期的行为"按设计"?

更新:好的,似乎是"设计" - Parallel queries on CTE for writing operations in PostgreSQL

但在这种情况下,与9.5相比,CREATE TABLE as SELECT似乎在9.6上表现得非常差。

  1. 更新:看起来PostgreSQL 9.6需要更高的work_mem设置而不是9.5 - 我摆弄了运行严重的查询的查询计划,发现只需通过更改会话I中的work_mem设置就可以从"排序(成本= 807568233.23..807568267.50 rows = 13709 width = 105)" for work_mem = 32MB to" Sort(cost = 151127.62..151161.89 rows = 13709 width = 105)" for work_mem = 64MB ...

0 个答案:

没有答案