oracle 有个存储过程之前执行,效率正常,一般5分钟左右执行完,重新导入数据然后执行时发现执行时间需要30分钟才能执行完,是什么因素会影响? -利来国际app

oracle 有个存储过程之前执行,效率正常,一般5分钟左右执行完,重新导入数据然后执行时发现执行时间需要30分钟才能执行完,是什么因素会影响?
写回答
匿名用户
提问于2021-12-27
oracle 有个存储过程之前执行,效率正常,一般5分钟左右执行完,重新导入数据然后执行时发现执行时间需要30分钟才能执行完,是什么因素会影响?

oracle 有个存储过程之前执行,效率正常,一般5分钟左右执行完,重新导入数据然后执行时发现执行时间需要30分钟才能执行完,是什么因素会影响?

问题补充
写回答
4条回答
默认
最新
刘晓华 2021-12-27

一般来说是数据发生了变化,统计信息没及时收集,导致存储过程里的sql执行计划发生了改变,从而导致执行性能降低,建议先收集一次相关表的统计信息,然后再执行看有没提升

0
0
0
薛晓刚
2021-12-27

可能是原来存在全表读的情况,数据量增加,全表读时间线性增加。

sql要进行改善,可以提高效率。

0
0
0
晨辉 2021-12-27

检查下里面的重点sql,看下是不是执行计划发生了变化
也可能导入数据后没有收集统计信息,执行计划不准确。

0
0
0

怎么理解你的重新导入?
先 turncate 表
然后 imp 导入数据
你的意思 重新导入的数据量跟以前的数据量是一样多的.

假设是这样的说的话,那么就涉及了统计信息发生了变化,
统计信息发生了变化,导致sql执行计划的发生变化.
比如原来走索引的,现在走全表.
原来走全表的,走索引.

每次导入新数据后,要立即收集下统计信息.

0
0
0
回复问题
问题信息
请登录之后查看
邀请作答
暂无人订阅该标签,敬请期待~~
高分悬赏