Perfomance Out参数vs Out系统引用游标Oracle Procedure

时间:2017-09-19 06:16:51

标签: oracle stored-procedures sys-refcursor out-parameters

我在oracle中有一个带有12个参数的过程,其中4个是sys ref cursor。
我使用8个以上的参数替换我的程序中的一个光标。
如果使用,是否会有任何性能提升输出参数而不是输出参考光标。

1 个答案:

答案 0 :(得分:1)

可以将游标视为指向数据库中包含结果集的内存区域的指针 - 它不直接包含结果;因此,当您发送光标时,您只是发送指针,然后您使用的任何用户界面都必须进行额外的往返数据库,以使用该光标(指针)打开结果集,获取行然后,当你完成了,关上光标。

当您使用带有单个值的out参数时,可以在过程终止时返回所有值,并且不需要与数据库进行其他通信。

  

如果使用参数而不是输出参考光标,是否会有任何性能提升。

所以,是的,如果要返回多个输出参数而不是引用具有单个行的结果集的游标,则可能会有性能增强。但是,与所有性能增强一样,您应该对更改进行分析,以便您可以看到实际效果(可能忽略不计)。