>drop table t;
Table dropped.
> create table t ( x int );
Table created.
> create or replace procedure proc1
2 as
3 begin
4 for i in 1 .. 10000
5 loop
6 execute immediate
7 'insert into t values ( :x )' using i;
8 end loop
9 end;
10 /
Procedure created.
> create or replace procedure proc2
2 as
3 begin
4 for i in 1 .. 10000
5 loop
6 execute immediate
7 'insert into t values ( '||i||')';
8 end loop;
9 end;
10 /
Procedure created
#打开timing
hr@ORCL> set timing on
hr@ORCL> exec proc1
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.57
hr@ORCL> exec proc2
PL/SQL procedure successfully completed.
Elapsed: 00:00:05.57
本文通过两个PL/SQL过程的实现,对比了使用变量绑定与字符串拼接方式批量插入数据到数据库表中的性能差异。实验结果显示,利用变量绑定的方法在执行相同数量的数据插入时更为高效,耗时明显短于字符串拼接的方式。
399

被折叠的 条评论
为什么被折叠?



