ITPub博客

首页 > 数据库 > Oracle > 一次提速1000倍的delete操作

一次提速1000倍的delete操作

Oracle 作者:li__hl8888 时间:2016-05-18 14:16:50 0 删除 编辑

优化思想 :

1>避开繁琐的查询条件. 2>使用原子级别的处理 3>使用批量处理

CTAS 加上nologging选项.


优化方法:

1>第一次优化 :使用Hint /*+ RULE*/

2>第二次优化:分段操作 10000条作为分段方式:+ rownum<:rn using p_count; SQL%ROWCOUNT

3>第三次优化:  拆分操作:拆分sql语句:选取rowid,unique key

4>第四次优化:  批量处理:forall,bulk collect into

create as

             type ridarray is table of rowid index by binary_integer;

             type pkarray is table of varchar2(100) index by binary_integer

   v_rowid ridarray;

   v_pk     pkarray;

begin

while loop

end loop;

end;

5>分段操作+拆分操作+批量处理。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8568259/viewspace-2102314/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-06-01

  • 博文量
    208
  • 访问量
    92683