合并数据时postgres-xl自联接成本为10秒

问题描述 投票:1回答:2

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

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

这个查询很简单,只返回一行。当我在数据节点中运行它时,只花费10毫秒。但是在coord节点中花费10020毫秒。我曾尝试过其他一些查询,并确保在加入同一个表coord节点时花费10秒。但是如果查询没有返回任何内容,则在coord节点中仅花费20ms。所以我认为,当coord节点组合数据时,它出了问题。任何人都可以告诉我如何避免这种情况。非常感谢。

self-join postgres-xl
2个回答
0
投票

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


0
投票

对于https://dba.stackexchange.com而言,这更是一个问题,事实上,someone had the same problem there

你可以在链接的问题上看到my answer,这是一个简短的总结:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.