请问如何优化oracle过程的for循环的速度呢?或者还有哪些方法可以提高运行实现循环呢
在过程中
for cur2 in (select AA from A表) loop
insert into B表(BB) values(cur2.AA);
end loop;
,其中A表的数据好多, 类似这样的过程结构 循环数据执行过程速度非常慢,
如何修改, 给个实例参考。
------解决方案--------------------
insert into B表(BB) select AA from A表;
------解决方案--------------------
我是举例最简单的结构
要是有这么简单我就没必要来这里问菜鸟咯
------解决方案--------------------
for cur2 in (select AA from A表) loop
中间操作许多算法 如统计数据再算分
end loop;
------解决方案--------------------
批量集合
------解决方案--------------------
为什么要用循环做呢?这种直接有同步语句不就ok?
insert into b(bb) select aa from a;
------解决方案--------------------
把for改成for all 会快一些
------解决方案--------------------
先确认查询慢还是插入慢
------解决方案--------------------
fetch bulk collect into 批量效率的读取游标数据
------解决方案--------------------
如果查询慢,请优化查询语句;如果数据量太大,亲。。你还是分批执行吧~~~~~~~