解决方案 »

  1.   

    用了3个loop,而且又用了游标,领导说我用游标,鄙视我
      

  2.   

    在oracle遇到这种千万级的表扫描,而且又有子表的扫描,通常用什么方式性能比较好?
      

  3.   

    如果是我来做的话。首先要看看循环里面出来的值域可不可以放到业务处理的条件中,把loop变成一次执行。。
    如果业务处理必须的一次次操作的话,那只能循环执行。这种情况下就只能优化业务执行的效率了。。
    你说的扫描,也要看表的字段数来衡量表的量级。。
    如何效率高看具体执环境、业务执行语句的执行计划,没有绝对优化的sql,只有适合环境的sql
      

  4.   

    游标可以用bulk collect代替, for循环可以用for all或者merge into代替,我看你的脚本,可以优化成既不用游标,又不用任何for循环就能完成。
      

  5.   

    大数据量的运算,千万不要用游标,效率低得可怕。
    直接用sql改写,必要时可以用临时表。
      

  6.   

    up.......
    另外也可以考虑用ROWID来操作
      

  7.   

    bulk collect+for循环了,性能还行,结贴了,谢谢大神们