db2存储过程调试后执行速度变的很快

DB2版本:DB2 v10.5.0.6

有3个存储过程,处理的表都是一样的,之前测试的加工时间大概都要4分钟左右,速度太慢想要找出瓶颈所在。于是在1,2这两个存储过程里面加入写时间戳日志的一些INSERT INTO 代码后,存储过程速度变的很快,只要6秒钟就可以加工完。然后把存储过程再还原成之前4分钟的那份原始代码,加工时间仍然只要6秒钟就可以了,不会再出现4分钟才能加工完的问题了。但是此时第3个存储过程仍然需要4分钟才能加工完。

第3个存储过程,用IBM Data stutio 启动调试,发现执行速度也很快,而且调试过后,这个存储过程的执行时间也变成只要6秒了。

百思不得其解啊,希望各位高手不吝赐教。

参与14

5同行回答

DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
我觉得问题的根源可能在统计信息,recreate相当于更新了过称中静态的统计信息。显示全部

我觉得问题的根源可能在统计信息,recreate相当于更新了过称中静态的统计信息。

收起
电信运营商 · 2017-01-19
浏览2706
  • 试了一下另外一个存储过程,确实删掉之后再建,速度就快了。
    2017-01-20
stevenlakestevenlake数据库管理员blablabla
如果是存储过程中的静态语句,那么只有做rebind之后才会使用新的统计信息进行编译显示全部

如果是存储过程中的静态语句,那么只有做rebind之后才会使用新的统计信息进行编译

收起
银行 · 2017-03-28
浏览2463
xmherzxmherz测试工程师中软海晟
这些表的数据我都已经插入好几天了,它的统计信息不会自动更新吗?DB2 V10的默认配置是这样的,没去修改。显示全部

这些表的数据我都已经插入好几天了,它的统计信息不会自动更新吗?

DB2 V10的默认配置是这样的,没去修改。


无标题.png


收起
软件开发 · 2017-01-20
浏览2548
masalymasaly其它易诚
看一下存储过程的执行计划就什么都明白了显示全部

看一下存储过程的执行计划就什么都明白了

收起
软件开发 · 2017-01-19
浏览2549
xmherzxmherz测试工程师中软海晟
用IBM Data stutio调试的时候,就是在里面加入几个断点,然后看哪一步执行比较慢,但是发现每一步都不慢。然后不用调试的,执行运行,速度也变的很快了。显示全部

用IBM Data stutio调试的时候,就是在里面加入几个断点,然后看哪一步执行比较慢,但是发现每一步都不慢。然后不用调试的,执行运行,速度也变的很快了。

收起
软件开发 · 2017-01-19
浏览2515

提问者

xmherz
测试工程师中软海晟

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-01-19
  • 关注会员:4 人
  • 问题浏览:5314
  • 最近回答:2017-03-28
  • X社区推广