0

您好,我正在通过使用带有 trigram 模块和分区表的 GIN 索引来使用 postgres 作为搜索引擎,并且我正在尝试并行化查询,但无论我设置什么查询总是顺序的,欢迎任何想法。查看图片了解更多信息。这是一个查询(test_trgm_x 是每个包含大约 550k 行的分区)

SELECT * FROM test_trgm_1 WHERE n = 1 AND t ~ '(ulpa)'
UNION ALL
SELECT * FROM test_trgm_2 WHERE n = 2 AND t ~ '(piente)';

在此处输入图像描述

4

1 回答 1

0

parallel_tuple_cost 的默认设置相当高。这不鼓励在像您这样的情况下使用并行查询,在这种情况下,几乎在并行工作者中找到的每一行都需要推到领导者身上。如果您设置parallel_tuple_cost=0,它会真正鼓励使用并行查询(即使使用它没有意义)。

于 2021-11-07T03:03:19.187 回答