性能输出参数与输出系统参考光标Oracle过程

性能输出参数与输出系统参考光标Oracle过程,oracle,stored-procedures,sys-refcursor,out-parameters,Oracle,Stored Procedures,Sys Refcursor,Out Parameters,我在oracle中有一个包含12个参数的过程,其中4个是sys ref cursor。我将使用8个out参数替换过程中的一个cursor。如果使用out参数而不是out ref cursor,会不会有任何性能增强。可以将光标视为指向数据库中存储区域的指针,该区域是包含结果集-它不直接包含结果;因此,当您发送一个游标时,您只是在发送指针,然后您使用的任何用户界面都必须对数据库进行额外的往返,以使用该游标(指针)打开结果集、获取行,然后在完成后关闭游标 当使用带有单个值的out参数时,当过程终止时,

我在oracle中有一个包含12个参数的过程,其中4个是sys ref cursor。
我将使用8个out参数替换过程中的一个cursor。
如果使用out参数而不是out ref cursor,会不会有任何性能增强。

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

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

如果使用out参数而不是out ref游标,将有任何性能增强


因此,是的,如果您返回多个out参数,而不是一个引用一行结果集的游标,那么可能会有性能增强。但是,与所有性能增强一样,您应该分析这些更改,以便看到实际效果(可能可以忽略不计)。

谢谢或回复。但是如果程序的调用是每秒10到15次,那么效果会显著吗@शेखर 我不知道您的数据库设置,您是通过网络还是在本地计算机上发出请求,等等。。正如我所说的,分析您当前的设置,尝试更改它并分析修改后的设置,然后亲自看看效果是什么-没有其他人可以告诉您效果是什么,因为我们无法访问您的数据库/硬件。