我遇到了一个奇怪的情况,当从Toad运行时,SQL查询需要几秒钟才能完成,而包含相同查询的Jasper Report需要半小时才能生成结果(具有相同的参数)。以下是一些细节:
我很感激有关如何处理此事的任何建议。
答案 0 :(得分:0)
首先,不要使用TOAD进行查询调优。 TOAD有兴趣尽快为您提供结果集的前几行,以使应用程序尽可能快速响应。为此,TOAD会为您的查询注入FIRST_ROWS提示。一个很好的功能,但不适用于调优查询。
现在,为了解决您的查询耗时太长,我建议您先调查时间花在哪里。您可以通过跟踪查询执行来执行此操作,如here所述。一旦你完成了,并且你知道时间花在哪里,但你仍然不知道如何解决它,那么请发布执行计划和统计数据。
答案 1 :(得分:0)
优化器环境可能存在差异。您可以使用
进行检查select * from
V$SES_OPTIMIZER_ENV
where sid = sys_context(’userenv’,’sid’)
在你的toad会话和Jasper报告中运行它并比较结果。