PostgreSQL是否可以并行查询分区?

3
Postgres现在支持并行查询。当表被分区,查询在主表上,并且涉及多个分区(子表)时,会使用并行查询。
例如,按每天的小时进行分区。然后我想统计一种事件在多个小时内发生的次数。可以在每个分区上进行聚合,最后将结果相加。
另一种选择是在分区(子表)之间使用union。在这种情况下,Postgres执行并行操作。

PostgreSQL 9.5及更早版本:不支持。PostgreSQL 9.6及更高版本:请检查查询计划。explain analyze在哪里?请编辑您的帖子添加它。 - Craig Ringer
1个回答

0

不,分区不会并行查询。目前(9.6版本)只有表扫描使用并行执行。表格被分配给可用的工作人员,每个工作人员扫描表格的一部分。最后,主要工作人员将部分结果组合起来。

这样做的一个副作用是,当启用并行查询执行时,优化器更有可能选择全表扫描。

据我所知,没有计划根据分区(或联合所有)并行执行。建议在此处添加此功能here

编辑:我的原始答案是错误的。这个答案已经完全修订。


你好,我有一个问题并在这里提出。我想知道当一个字段是一个函数(也是表扫描)时,这种并行计算是否可以帮助我进行表扫描。目前我正在使用9.5版本,所以考虑仅为此目的迁移到9.6版本。 - Juan Carlos Oropeza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接