首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PL/sql oracle存储过程中,尝试使用分析函数

在PL/sql oracle存储过程中,尝试使用分析函数
EN

Stack Overflow用户
提问于 2010-08-15 22:19:01
回答 3查看 887关注 0票数 0

为了提高性能,在存储过程中使用游标函数还是分析函数更好?

EN

回答 3

Stack Overflow用户

发布于 2010-08-16 00:38:09

以集合方式使用纯SQL要比使用游标来处理数据RBAR更好。这是因为PL/SQL和SQL引擎之间的上下文切换是一种开销。游标和它们的所有附加代码也是一种开销。

分析函数是对SQL的一个很好的扩展,它允许我们在SELECT语句中执行以前需要过程代码的操作。

当然,如果您希望处理大量数据,那么bulk collectionthe FORALL statement绝对是最好的方法。如果你需要使用the LIMIT clause then explicit cursors,那是不可避免的。

票数 3
EN

Stack Overflow用户

发布于 2010-08-15 22:56:16

如果没有必要,最好使用而不是使用游标。

票数 2
EN

Stack Overflow用户

发布于 2010-08-30 01:47:40

与游标相比,使用纯SQL语句总是更好的选择。当使用纯SOL处理数据比较麻烦时,可以使用游标。

使用游标,我们每行处理一行。使用批量收集,我们减少了上下文切换,但我们仍然使用Limit子句在一个周期内仅处理几千行。使用纯SQL,只要有足够的可用资源,就可以插入或更新更多的行。回滚分段是一个限制因素。在一个项目中,我编写了非常复杂的纯SQL,以便在非常大的数据仓库环境中插入数百万行,但失败了。DBA提供了非常大的回滚段。使用批量收集时,我无法达到这样的性能。

请注意,大多数公司不会给你这样的便利。因此,请根据可用的资源做出决定。您可以将两者结合使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3487744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档