首页 > 数据库 > Oracle > 一次提速1000倍的delete操作
优化思想 :
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/ ,如需转载,请注明出处,否则将追究法律责任。