专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

ORACLE批量绑定FORALL与BULK COLLECT实例分享

ins518 2024-10-18 08:45:34 技术文章 21 ℃ 0 评论

概述

今天主要分享几个实例,来帮助大家理解批量绑定FORALL与BULK COLLECT,建议大家掌握这两块内容,优化必备!


FORALL与BULK COLLECT的使用方法

1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。

2.使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但BLUK COLLECT需要大量内存。


实例

基础环境:

create table test_forall ( user_id number(10), user_name varchar2(20));

1、select into 中使用bulk collect

2、fetch into 中使用bulk collect

3、在returning into中使用bulk collect

4、批量更新中,将for改成forall

--改写 
FORALL i IN depts.FIRST..depts.LAST 
 UPDATE emp SET sal = sal * 1.10 WHERE deptno = depts(i); 

大家有空可以试着改写下,看下是不是存储过程有一些提升呢..后面小编会分享更多DBA方面的内容,感兴趣的朋友走一波关注哩~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表