1

我的 postgres-xl 版本是 9.5r1.5 稳定版。当查询如下

SELECT * FROM tests t1 LEFT JOIN tests t2 ON t1.id1 = t2.id2 WHERE t1.id1=10000;

这个查询很简单,只返回一行。当我在数据节点中运行它时,只花费了 10 毫秒。但是在坐标节点中花费了 10020 毫秒。我尝试了其他一些查询,并确保在加入同一个表坐标节点时花费 10 秒。但是如果查询什么都不返回,那么它在坐标节点中只需要 20 毫秒。所以我认为,当坐标节点组合数据时,它有问题。谁能告诉我如何避免这种情况。非常感谢。

4

2 回答 2

0

对于https://dba.stackexchange.com ,这更像是一个问题,事实上,有人在那里遇到了同样的问题

你可以看到对链接问题的回答,这里有一个简短的总结:

这是一个 postgres-xl 错误,在使用行重新分配计划和执行的查询上触发,并且某些节点没有任何行。

您可以通过更改查询、更改表分布或添加数据来解决此问题。您可以使用它EXPLAIN来检查您的查询是否涉及数据重新分配。

于 2019-04-02T13:02:01.943 回答
0

也可以试试“SET work_mem = '256MB'; SET LOCAL work_mem = '256MB';”。增加排序和真空的默认内存。

于 2019-03-17T13:17:33.603 回答