存储过程变慢,求助

RY8787 2014-08-23 03:32:48
遇到问题,求助高手。一个存储过程,生产上突然有20分钟慢到将近60分钟。我把库导出到一个类似配置和版本的数据库里,运行是正常的20分钟。其它的存储过程都正常。查了日志 也没发现运行时段有异常。更令我纳闷的是那个慢的存储过程所用到的几张表,历史数据刚刚都清理了一多半。应该快才对啊.
...全文
269 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
不写代码的钦 2014-08-28
  • 打赏
  • 举报
回复
资源被占用了,效率就不高
sych888 2014-08-24
  • 打赏
  • 举报
回复
看看统计信息是什么时间收集的 然后对比一下两边的执行计划看看
美到心痛 2014-08-24
  • 打赏
  • 举报
回复
首先你要定位是你的存储过程本身慢了,还是因为这个时间段有其它事情阻塞了它. 1.把你存储过程中比较费时的语句拉出来,看一下是否和你的测试库的执行计划一致. 2.记下你存储过程运行的session id, 用 select * from v$active_session_history where session_id=xxx and sample_time between 时间段, 然后在测试库上用同样的方法查看,对比一下两个之间等待事情的差别.
小灰狼W 2014-08-23
  • 打赏
  • 举报
回复
可以做个那个时段的AWR看看是否整个数据库的性能遇到瓶颈
RY8787 2014-08-23
  • 打赏
  • 举报
回复
HWM我都降低过了 还不行,我看下你的链接
bw555 2014-08-23
  • 打赏
  • 举报
回复
bw555 2014-08-23
  • 打赏
  • 举报
回复
用delete删除数据的话,数据表的空间并没有被释放,执行效率也不会加快 高水位的问题 将数据导出做好备份,然后对相关表执行truncate 操作来释放空间,然后将数据导回

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧