【发布时间】:2011-06-23 08:46:00
【问题描述】:
我正在使用从数据库 (Oracle) 检索的数据创建 pdf 报告。对于每份报告,我都会进行数据库调用。我想优化多个报告的调用(最多可以有 500 个报告)。在当前情况下,我进行了 500 次数据库调用,这导致服务器超时。
我正在寻找解决方案和答案。
1。我可以将数据列表作为输入传递给查询吗? (查询需要 2 个输入。)
2。整组数据检索应在 1 个 DB 调用中进行,而不是 500 次单独调用。
3。响应应该是 500 个输入的累积结果。
请提出解决问题的方法或解决问题的方向?
这是一个基于 Java 的系统。 DB 调用来自 Web 应用程序。数据库:甲骨文。
谢谢!!
【问题讨论】:
-
不确定“调用次数”是超时原因,但这些查询在做什么。这些报告是动态的还是静态的?如果满足您的刷新率需求,按某个时间表(例如每天一次)刷新的物化视图将解决您的问题。这将减少您从 matview where key='blah' 中选择 * 的查询并解决您的超时问题。
-
查询是相当动态的,它从大约 12 个表中获取数据,并且表中存储的数据经常被修改。