很简单的语句update 表 set 字段 = 'xxxxx';数据不到200万条,但要十几分钟。可能会是些什么原因造成的呢?

解决方案 »

  1.   

    看看更新的那个字段是不是主键或唯一约束
    如果是的话肯定会慢
    因为oracle会维护索引
      

  2.   

    做下分割 commit;
    比如 每5000条commit 一次
    再则 更新条件是否使用到索引
      

  3.   

    1,更新字段是不是索引,这是有关系的
    2,如果update后面跟select语句,最好用下面格式会提高速度
    UPDATE A SET (A,B) 
    = (SELECT MAX(A1) , MAX(B1) FROM C) 
    WHERE ..