PLSQL - 批量收集的最大限制?
Posted
技术标签:
【中文标题】PLSQL - 批量收集的最大限制?【英文标题】:PLSQL - Maximum Limit of Bulk Collect? 【发布时间】:2017-05-09 07:39:58 【问题描述】:我使用了 purchase_detail 表中的批量收集,该表中有 3000 万条记录。 我想最大限度地在限制子句中使用多少价值。
example : fetch cur_name bulk collect into pur_var limit 5000;/----Maximum多少LIMIT?---/
【问题讨论】:
【参考方案1】:从语法的角度来看,limit
的值不能超过 2147483647,因为它是 pls_integer
。
但是,您的数据库服务器在物理上是否能够在 PGA 内存中容纳 20 亿行将取决于可用资源。这不太可能是个好主意。
从性能的角度来看,最佳值将取决于记录的大小和并发执行代码的可能用户数量,并且在 100 年代中期之后可能不会有太大改进。
【讨论】:
我可以设置 row_limit NUMBER := 10000;因为在我的显式游标中,使用数组获取 PROCEDURE 需要超过 13 小时才能完成提前谢谢 是的,尽管可能需要一些尝试和错误来找到最佳设置。以上是关于PLSQL - 批量收集的最大限制?的主要内容,如果未能解决你的问题,请参考以下文章