DB2存储过程执行变慢的原因可能会有哪些?

我们项目有10个事实表的存储过程,数据库是DB2 V9.7,以前用bat批处理调用这10个存储过程,执行时间大概是在15分钟左右,计算插入到10个事实表的记录总数一般是在2167000至2179000之间,但是调用执行最近这两个月(计算插入4、5两个月)的数据时,却花费了1至2个小时,最长的一次花费了3个小时,存储过程都没有改动过,每个月的总记录数都维持在2170000条左右,为什么这两个月会突然变慢那么多?可能是哪些方面原因引起的呢?应该如何追踪查询原困呢?先谢谢各位大神的回答!
我们的存储过程是每天都调用执行一次,做的是所谓的增量抽取,当月月初前10天抽取上月数据,插入之前先删除上月数据,然后再插入,我同事说每天这样对表进行删除和插入操作,把索引给搞坏了!
参与10

9同行回答

zhonghanquanzhonghanquan业务部门经理信和汇诚
回复 9# fyhlove     好的,谢谢!回头我和领导讨论一下!显示全部
回复 9# fyhlove


    好的,谢谢!回头我和领导讨论一下!收起
互联网服务 · 2013-06-04
浏览1858
fyhlovefyhlove数据库开发工程师上海诺祺科技有限公司
这样的业务需求,肯定需要采用表分区,目前你们的数据量还不是很大,做一下迁移还比较容易。如果采用分区表,那就不用去delete数据了,delete数据太伤了(费时费力),直接用detach分区的方式,不仅效率很高,而且不影响索引。...显示全部
这样的业务需求,肯定需要采用表分区,目前你们的数据量还不是很大,做一下迁移还比较容易。如果采用分区表,那就不用去delete数据了,delete数据太伤了(费时费力),直接用detach分区的方式,不仅效率很高,而且不影响索引。收起
软件开发 · 2013-06-04
浏览1980
tgytgy软件开发工程师IBC
建议事实表按照月份做表分区,把删除数据改为删除分区。查看索引,定期对事实表做runstats。再检查一下DB2 ...liuyang 发表于 2013-6-3 11:36 常规操作这样是可以了。建议LZ长久稳定,有需要还是得改改哈。...显示全部
建议事实表按照月份做表分区,把删除数据改为删除分区。查看索引,定期对事实表做runstats。
再检查一下DB2 ...
liuyang 发表于 2013-6-3 11:36



常规操作这样是可以了。建议LZ长久稳定,有需要还是得改改哈。收起
互联网服务 · 2013-06-03
浏览1882
zhonghanquanzhonghanquan业务部门经理信和汇诚
回复 6# 自由电子     请问反冲数据是指什么呢,第一次听说这个概念,呵呵!显示全部
回复 6# 自由电子


    请问反冲数据是指什么呢,第一次听说这个概念,呵呵!收起
互联网服务 · 2013-06-03
浏览1885
自由电子自由电子软件开发工程师文思海辉有限公司
是不是有反冲数据进去了,我们之前的存储过程也是每天跑,之前都是早上6点左右跑完,自从进了反冲的数据就延迟将近1个半小时显示全部
是不是有反冲数据进去了,我们之前的存储过程也是每天跑,之前都是早上6点左右跑完,自从进了反冲的数据就延迟将近1个半小时收起
互联网服务 · 2013-06-03
浏览2041
zhonghanquanzhonghanquan业务部门经理信和汇诚
回复 4# liuyang     现在系统已经上线了,不敢做太大的改动,何况我对DB2真不熟,万一搞坏了,就麻烦了,呵呵!我现在是想用最小的代价来优化它,先谢谢这位专家,请问重建索引是不是最小的改动呢?...显示全部
回复 4# liuyang


    现在系统已经上线了,不敢做太大的改动,何况我对DB2真不熟,万一搞坏了,就麻烦了,呵呵!我现在是想用最小的代价来优化它,先谢谢这位专家,请问重建索引是不是最小的改动呢?收起
互联网服务 · 2013-06-03
浏览1851
liuyangliuyang项目经理skyon
建议事实表按照月份做表分区,把删除数据改为删除分区。查看索引,定期对事实表做runstats。再检查一下DB2的log,看有没有报错或者警告显示全部
建议事实表按照月份做表分区,把删除数据改为删除分区。查看索引,定期对事实表做runstats。
再检查一下DB2的log,看有没有报错或者警告收起
互联网服务 · 2013-06-03
浏览2093
zhonghanquanzhonghanquan业务部门经理信和汇诚
回复 2# junix2008     我们的存储过程是每天都调用执行一次,做的是增量抽取,当月月初前10天抽取上月数据,插入之前先删除上月数据,然后再插入,我同事说每天这样删和插,把索引给搞坏了!我试试重建索引看看好不好使!谢谢烟头兄!:handshake...显示全部
回复 2# junix2008


    我们的存储过程是每天都调用执行一次,做的是增量抽取,当月月初前10天抽取上月数据,插入之前先删除上月数据,然后再插入,我同事说每天这样删和插,把索引给搞坏了!我试试重建索引看看好不好使!谢谢烟头兄!:handshake收起
互联网服务 · 2013-06-03
浏览1855
junix2008junix2008项目经理耐普罗塑胶五金制品(深圳)有限公司
重建一下索引试试,然后检查一下磁盘空间,看看缓存够不够,不够就加一个磁盘。如果还慢,检查一下磁盘有没有问题。有时候磁盘出现坏道,数据库的文件有问题了他不报错,而是拼命的自行去修复,一个小小的动作就要好久。...显示全部
重建一下索引试试,然后检查一下磁盘空间,看看缓存够不够,不够就加一个磁盘。
如果还慢,检查一下磁盘有没有问题。有时候磁盘出现坏道,数据库的文件有问题了他不报错,而是拼命的自行去修复,一个小小的动作就要好久。收起
互联网服务 · 2013-06-03
浏览1857

提问者

zhonghanquan
业务部门经理信和汇诚
擅长领域: 大数据商业智能服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-06-03
  • 关注会员:1 人
  • 问题浏览:8174
  • 最近回答:2013-06-04
  • X社区推广