oracle 绑定变量提高效率

同样插入10万行记录(测试语句如下),未使用绑定变量需要72.6秒,使用绑定变量后只需要8.6秒,

语句1:

begin

for i in 1 .. 100000

loop

execute immediate

'insert into t values('||i||')';

end loop;

commit;

end;

/

语句2:

begin

for i in 1 .. 100000

loop

execute immediate

'insert into t values (:x)' using i;

end loop;

commit;

end;

/

SQL> set time on

16:32:17 SQL> set timing on

16:32:22 SQL> create table t(id int);

Table created.

Elapsed: 00:00:00.04

16:32:45 SQL> begin

for i in 1 .. 100000

loop

execute immediate

'insert into t values('||i||')';

end loop;

commit;

end;

/

PL/SQL procedure successfully completed.

Elapsed: 00:01:12.62

16:34:21 SQL>

使用绑定变量后如下:

16:34:26 SQL> begin

for i in 1 .. 100000

loop

execute immediate

'insert into t values (:x)' using i;

end loop;

commit;

end;

/

PL/SQL procedure successfully completed.

Elapsed: 00:00:08.60

发布了7 篇原创文章 · 获赞 3 · 访问量 808

猜你喜欢

转载自blog.csdn.net/tttt0611/article/details/90176121