我们编写了一个存储过程,其中我们需要对大量数据(100000条记录)执行逻辑,我们从java代码中调用此SP。
表现很好,很难计算1分钟。
真正的问题是它花了近10分钟来关闭可调用语句。我们在SP中使用了多个游标。我们也正在关闭并正确解除分配。
答案 0 :(得分:1)
1.那么可能会出现什么问题,因为它花了这么多时间来关闭单一的可调用语句?
当您尝试关闭statement
时,jdbc也会尝试关闭其ResultSet
对象(如果存在)。在你的情况下,如你所说它是非常大的结果集,它可能会增加所花费的时间。
2.如果我们绕过关闭可调用语句代码也可以,因为这是单线程java作业,它在SP执行后终止,而不是等待语句关闭?
恕我直言,关闭statement
对象总是更好,因为它可能会产生一些问题。但是你可能有机会跳过,因为你说这是一个单线程的java作业