【问题标题】:Perfomance Out parameter vs Out system ref cursor Oracle Procedure性能 Out 参数与 Out 系统引用游标 Oracle 过程
【发布时间】:2018-02-27 19:25:24
【问题描述】:

我在 oracle 中有一个带有 12 个参数的过程,其中 4 个是 sys ref 游标。
我将使用另外 8 个 out 参数从我的过程中替换一个游标。
如果使用 out 参数,是否会提高性能而不是 out ref cursor。

【问题讨论】:

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


    【解决方案1】:

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

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

    如果使用 out 参数而不是 out ref cursor,是否会有任何性能提升。

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

    【讨论】:

    • 感谢或回复。但是如果程序的调用是每秒10到15次那么效果会很显着?
    • @शेखर 我不知道您的数据库设置,无论您是通过网络还是在本地计算机上发出请求等。正如我所说,配置您当前的设置,尝试更改它并分析修改后的设置并亲自查看效果 - 没有其他人可以告诉您效果是什么,因为我们无权访问您的数据库/硬件。
    猜你喜欢
    • 2012-08-08
    • 2011-10-16
    • 1970-01-01
    • 2012-03-11
    • 2010-10-26
    • 2013-11-02
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多