一次提速1000倍的delete操作

li__hl8888發表於2016-05-18

最佳化思想 :

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部落格 ” ,連結:http://blog.itpub.net/8568259/viewspace-2102314/,如需轉載,請註明出處,否則將追究法律責任。

相關文章