也是300万数据的一张表:
--只游标定义一列
declare
cursor cur_3 is select a.cert_type from ea_cust.cust_info a;
type t_table is table of varchar2(100);
c_table t_table;
to_cust_id varchar2(100);
begin
open cur_3;
loop
fetch cur_3 bulk collect into c_table limit 100;
exit when c_table.count = 0;
for i in c_table.first..c_table.last loop
null;
end loop;
end loop;
commit;
end;
--耗时13秒
--游标整张表
declare
cursor cur_3 is select * from ea_cust.cust_info a;
type t_table is table of ea_cust.cust_info%rowtype;
c_table t_table;
to_cust_id varchar2(100);
begin
open cur_3;
loop
fetch cur_3 bulk collect into c_table limit 100;
exit when c_table.count = 0;
for i in c_table.first..c_table.last loop
null;
end loop;
end loop;
commit;
end;
--耗时63秒
可想而知游标的列越多,数据量越大,游标打开的越慢