update CHECKYSSJB_8_00 t1 set t1.is_unique=1 where rowid not in (select max(rowid) from CHECKYSSJB_8_00 group by QYMC,ZCH,QYZT,QYLX,XYLX,XYXL,FDDBR,ZZMM,JYDZ,JYFW,ZCZB,BZ,ZCZB_ZWMY_,ZFRJZB_WY_,ZFSJZB_WY_,WFRJZB_WY_,WFSJZB_WY_,JYLB,CLRQ,HZRQ,LXDH,DAH,SSQ);
commit;
sql语句如上,数据库数据量为5000条,在10g上执行只要0.2秒不到,但是在9i上执行需要68秒,求高手解惑,在9i上有没有优化的方法。9i10g效率sql

解决方案 »

  1.   

    select * from table where acc in('a','c');
     
            ID ACC
    ---------- ------------
             1 a
             1 c
             2 a
             3 a
      

  2.   

    提供两个环境的执行计划---------------------------------
    qq号:107644445
    BLOG:http://www.xifenfei.com
      

  3.   


    9i执行计划Execution Plan
    ----------------------------------------------------
    Statistics
    ----------------------------------------------------
              0  recursive calls
              0  db block gets
         600120  consistent gets
              0  physical reads
              0  redo size
            610  bytes sent via SQL*Net to client
            761  bytes received via SQL*Net from client
              3  SQL*Net roundtrips to/from client
           5001  sorts (memory)
              0  sorts (disk)
              0  rows processed10g执行计划
    执行计划
    ----------------------------------------------------------
    Error: cannot fetch plan for statement_id 'PLUS650266'
    统计信息
    ----------------------------------------------------------
             27  recursive calls
              0  db block gets
            816  consistent gets
              0  physical reads
              0  redo size
            656  bytes sent via SQL*Net to client
            792  bytes received via SQL*Net from client
              3  SQL*Net roundtrips to/from client
              2  sorts (memory)
              0  sorts (disk)
              0  rows processed
      

  4.   

    两个逻辑读根本不在一个数量级,执行的sql 快慢能一样吗?没有看到具体sql执行计划,你想办法让执行计划和9i一样,再看看