2015年12月23日 Oracle 浏览(177)

Oracle之SQL调优刷数据方案分享

Oracle之SQL调优刷数据脚本如下:

declare
  i number := 0;
   begin
   for rec in (SELECT ID
   FROM G_H_TABLE G
   WHERE G.Transfer_Status=2
  ) loop
  UPDATE G_H_TABLE GH
  SET GH.TRANSFER_STATUS=15
  WHERE GH.ID = rec.id;
  i := i + 1;
  if (mod(i, 1000) = 0) then
  commit;
 dbms_lock.sleep(1);
  end if;
  end loop;
  commit;
  end;

脚本逻辑:每1000条更新提交一次,每次提交后休息1秒,防止给服务器造成过大压力。

用户头像