问题详述如下:
procedure执行的时间很不稳定,有时候比较快,在4小时以内就可结束,但有时却很慢,运行14小时还没能结束,问题很急,请大家帮忙找找原因。谢谢!参考信息:
1.数据库中数据量比较大
2.存储过程中主要是进行统计,将统计出的结果写表
3.存储过程嵌套调用:在主procedure中循环调用其它procedure

解决方案 »

  1.   

    加上
    用dbms_output.put_line(to_char(sysdate,'hh24:mm:ss'))测试是哪里出了问题
      

  2.   

    谢谢楼上的各位,我采用了以下方法进行了调整:
    1、建立几张临时表(不是Oracle的temp table),将大表中需要进行统计的部分数据导入该临时表中,procedure中改为对这几张临时表进行操作;
    2、专门对这几张临时表进行索引的优化;
    3、将原来的所有数据做完后提交改为每做完一个阶段提交一次。经过以上处理后,速度提高到1个小时左右。再次谢谢大家!!!