暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 查询执行慢

ASKTOM 2019-11-06
289

问题描述

嗨,

我们有一个查询,每个星期五在数据库上运行。这曾经在2分钟内完成。

但是,从最近几周开始,工作就超时了。应用程序级别超时设置为4分钟。因此,由于查询未在4分钟内完成,因此作业已超时。

我们试图将超时值增加到15分钟,但仍然超时。但是,在15分钟超时后立即进行下一次运行会在一分钟内完成查询。

你能解释一下这是怎么发生的吗?感觉跟内存参数设置有关系。我们增加了SGA_TARGET值,但它没有解决问题,但执行时间结束后的速度要快得多。

这与PGA工作区的大小有关吗?请指导我在数据库中的位置进行解释。

谢谢

专家解答

你的查询发生了一些变化-它可能是它使用的表中的数据,它可能是优化器统计信息,但有些东西已经改变。* 查看 * 丢失时间的一个好方法是查看所使用的执行计划。

通过以下方式获取此信息:

-运行 “设置服务器输出关闭”
-向您的查询添加/* gather_plan_statistics */提示
-运行它
-通过运行获得计划:

选择 *
从表 (dbms_xplan.display_curs(null,null,'ALLSTATS LAST'));



并在这里发布它的输出。确保它包括A(c) 行以及 (E) 估计行列!


文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论