Oracle执行程序的性能

时间:2015-03-10 14:13:32

标签: stored-procedures plsql oracle11g

我在数据库包中有一个执行以下操作的过程:

  • 该过程会收到一个ID到表 - TESTTABLE。

  • 然后我们打开一个光标,对于TESTETABLE上的每一行执行+/- 40个查询,这些查询将获得一些参考数据,如解码代码,获取更多信息等。这些查询取决于每行的输入TESTTABLE,因此它们是动态创建和执行的。

  • 对于处理的每一行,并在另一个表中进行插入。

到目前为止一切顺利。

当TESTTABLE有60行时,程序的执行时间约为10秒(约60 * 40个查询加上表上的60个插入);

当TESTTABLE为120行时,执行时间约为30分钟(120 * 40个查询加上120个插入)。这是不可接受的!

我无法理解为什么会发生这种情况,从几秒钟到几十分钟就会发生。

你可以帮我解决这个问题吗?在更短的时间内完成执行?

非常感谢。

0 个答案:

没有答案