减少Oracle存储过程的执行时间

时间:2015-04-14 11:53:10

标签: oracle performance stored-procedures

我每天都运行一个db作业,它可以在三小时内从一个3.500.000行的表中处理10.000行。 调整主光标的select语句只能节省我30分钟,但我需要将作业运行时间从3小时减少到10-15分钟。 我必须声明只有游标的主循环,并且每个记录都有外部系统的调用,以便获取或发送数据,所以这是我无法控制的开销。获取每条记录后处理的时间不到一秒,这是不可接受的......

我能做些什么吗?所有的想法都非常受欢迎!

2 个答案:

答案 0 :(得分:0)

Imho,您可以将每个查询的作业提交到外部系统或尝试并行运行,也可以使用ADVANSED QUEUE。说明:将每个选定的行发送到队列,然后查询到外部将继续进行AQ

答案 1 :(得分:-1)

您可以尝试并行处理行。