问题描述
我使用 psqlODBC 和 PowerQuery 将结果从 postgresql (12.4) 加载到 Microsoft Excel。用户(使用 Excel)想要了解数据,例如特定客户。输入客户编号并刷新工作簿后,PowerQuery 使用数据库上定义的函数编写 sql 语句,例如:
SELECT * FROM function(<parameter>);
我将它用于大约 100 个函数,但最近我遇到了其中一些函数的严重性能问题。某些函数需要永远(意味着 15 分钟或更长时间)才能将任何内容返回到 excel,即使它只有几百行。在 pgAdmin 中运行相同的功能通常需要
当运行服务器上函数中使用的相同 sql 语句时(通过粘贴到 PowerQuery),结果加载速度非常快。很遗憾,我无法在生产中使用此解决方法。
到目前为止我尝试过的:
我的想法:
- 我发现这个 answer 说明聚合可能是在客户端完成的。这真的很糟糕,因为这些表包含几百万行,而我只想将聚合的列发回。
- 我可以从使用函数转向使用视图,因为它们可能更适合查询规划器进行优化,并且使用视图而不是函数的第一次测试似乎可以解决问题。我可以对大多数函数执行此操作,因为它们中的大多数不包含视图无法覆盖的逻辑。
我很感谢这里的每一条建议,我可以如何解决我的问题。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)