通过将max_parallel_workers_per_gather设置为4来并行创建实例化视图。我可以看到并行会话开始并且创建mview的速度比串行执行快得多(10分钟-并行与一个小时以上-串行)。
现在,我希望刷新mview的时间大约与create相同,我可以接受mref的工作,而不仅仅是create,以执行刷新视图时所需要的步骤。但是我要注意的是,即使将max_parallel_workers_per_gather设置为4,刷新也根本不会并行运行。PostgreSQL 11.6是否不像创建它一样支持并行刷新mview?
答案 0 :(得分:0)
PostgreSQL 11.6 是否不支持并行刷新 mviews 它是在创建时创建的吗?
完全正确:REFRESH(CREATE MV 除外)不能在 PG 11 中使用并行工作线程 ...
但好消息是:PostgreSQL 14 支持它:引用自 PostgreSQL 14 Feature Highlights
<块引用>PostgreSQL 14 中的查询并行性有很多改进。 除了并行顺序的整体性能改进 扫描,PL/pgSQL 中的 RETURN QUERY 指令现在可以执行查询 具有并行性。 REFRESH MATERIALIZED VIEW 现在可以使用查询 并行性也是如此。