日期:2014-05-17  浏览次数:21009 次

在oracle中for in和游标执行效率一样吗?
如题:在oracle中for   in和游标执行效率一样吗?

如下两种循环执行效率一样吗?
方式一:
for   cur_value   in   (select   id,k1,k2,k3   from   TB   )
loop
//业务操作
end   loop;

方式二:
CURSOR   cur_subs   IS   SELECT   subscriber_id   FROM   TB;
      OPEN   cur_subs;

      FETCH   cur_subs   INTO   subid;

      WHILE   cur_subs%FOUND
      LOOP
            //业务操作
            FETCH   cur_subs   INTO   subid;
      END   LOOP;
close   cur_subs;

------解决方案--------------------
一样的
------解决方案--------------------
个人多用for in
写起来简单方便
------解决方案--------------------
方式1 for in是隐式游标
方式2 是显式打开游标
都是游标,效率一样
------解决方案--------------------
一样