解决方案 »

  1.   

    你更新这个不带where条件??????
    考虑下用merge吧
      

  2.   

    不用带where条件的,每一条st-zd1都可以在t_zd表中找到
      

  3.   

    update  st_zd1 a  set sz_jf= (select sz_jf from t_zd b  where  a.djh=b.bsm)
    where exists(select sz_jf from t_zd b  where  a.djh=b.bsm)
    这样会快点
      

  4.   

    update(select a.name,b.name from a,b where a.id=b.id) set a.name=b.name;这样更快,两个索引都能用到,3楼的只能用到一个索引
      

  5.   

    这个sql能用?你的oracle版本要先进一点?
      

  6.   

    这个sql能用?你的oracle版本要先进一点?
    你试试就可以了,这是个优化方法
      

  7.   

    这个sql能用?你的oracle版本要先进一点?
    你试试就可以了,这是个优化方法
    知道了,必须得加上/*+ BYPASS_UJVC */
      

  8.   

    这个sql能用?你的oracle版本要先进一点?
    你试试就可以了,这是个优化方法
    还有,再请教下,这个的执行计划怎么更差了,一个索引都没有用到、
      

  9.   

    这个sql能用?你的oracle版本要先进一点?
    你试试就可以了,这是个优化方法
    还有,再请教下,这个的执行计划怎么更差了,一个索引都没有用到、
    /*+ BYPASS_UJVC */在11g已经无效了
      

  10.   

    这个sql能用?你的oracle版本要先进一点?
    你试试就可以了,这是个优化方法
    还有,再请教下,这个的执行计划怎么更差了,一个索引都没有用到、
    /*+ BYPASS_UJVC */在11g已经无效了

    10g 不加那个hint用不起...加了以后两个table access full