我的postgres-xl版本是9.5r1.5稳定的。如下所示的When查询
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节点合并数据时,这是错误的。谁能告诉我如何避免这种情况。非常感谢。
发布于 2019-03-17 21:17:34
也可以尝试"SET work_mem = '256MB';SET LOCAL work_mem = '256MB';“。增加用于排序和真空的默认内存。
发布于 2019-04-02 21:02:02
这更多的是https://dba.stackexchange.com的问题,实际上也是someone had the same problem there的问题。
你可以在链接的问题上看到my answer,这是一个简短的摘要:
是postgres-xl的一个bug,它在使用行重分布计划和执行的查询上触发,并且对于某些节点没有任何行。
您可以通过更改查询、更改表分布或添加数据来解决此问题。您可以使用EXPLAIN检查您的查询是否会涉及数据重新分布。
https://stackoverflow.com/questions/44015331
复制相似问题