0
点赞
收藏
分享

微信扫一扫

直接insert与循环insert测试代码

create table toys (
toy_id integer
not null primary key,
toy_name varchar2(20)
not null
);

declare
start_time pls_integer;
num_rows pls_integer := 100000;
begin
start_time := dbms_utility.get_time ();
for i in ( select level l from dual connect by level <= num_rows )
loop
insert into toys ( toy_id, toy_name )
values ( i.l, 'toy' || lpad ( i.l, 7, '0' ) );
end loop;
dbms_output.put_line (
'Loop duration ' || ( dbms_utility.get_time () - start_time )
);

execute immediate 'truncate table toys';

start_time := dbms_utility.get_time ();

insert into toys ( toy_id, toy_name )
select level l, 'toy' || lpad ( level, 7, '0' )
from dual
connect by level <= num_rows;

dbms_output.put_line (
'One statement duration ' || ( dbms_utility.get_time () - start_time )
);
end;
/

Loop duration 1298
One statement duration 71
举报

相关推荐

0 条评论