1

PostgreSQL 手册

以下操作始终受到并行限制:

  • 公用表表达式 (CTE) 的扫描。

  • 扫描临时表。

为什么限制 CTE 和临时表的并行扫描?

4

2 回答 2

3

请注意,如果 CTE 扫描在计划后仍然存在,则它们只是一个障碍。如果 CTE 语法在规划期间是“内联的”,则它不是并行的障碍。我想知道是否应该更改文档以澄清这一点?

于 2021-10-12T02:38:13.983 回答
3

并行受限

扫描 CTE 和 Temp 表:

原因是 CTE 和临时表对于创建它们的后端进程都是私有的,并且并行工作进程是不同的进程,它们无法访问领导进程的私有资源。

为了使 CTE 扫描并行安全,CTE 必须在共享内存中实现。

https://stackoverflow.com/a/58445299/11094058

于 2021-10-12T01:16:22.223 回答