大資料量表刪除插入

2021-05-23 12:27:57 字數 778 閱讀 9076

1。alter table t nologging 不記錄日誌,完成後記錄日誌。

2。先停用索引,在全部操作完成後啟用索引。

3。多次小批量提交。

4。選擇業務操作量少的時間進行。

create or replace procedure delbigtab

(p_tablename in varchar2,

p_condition in varchar2,

p_count in varchar2)as

pragma autonomous_transaction;

n_delete number:=0;

begin

while 1=1 loop

execute immediate

'delete from '||p_tablename||' where '||p_condition||' and rownum <= :rn'

using p_count;

if sql%notfound then

exit;

else

n_delete:=n_delete + sql%rowcount;

end if;

commit;

end loop;

commit;

dbms_output.put_line('finished!');

dbms_output.put_line('totally '||to_char(n_delete)||' records deleted!');

end;

快速刪除大資料量表

要清空表中資料,100w條資料以上的表,開始我們使用delete from t user進行刪除,這樣操作太慢了,需要等好長時間,如果資料量更大,那麼我們要等的時間無法想象。可以用以下方法進行刪除 假設要刪除的原表為source t 1.第一步生成中間表 create table source t ...

怎麼快速刪除大資料量表

要清空表中資料,100w條資料以上的表,開始我們使用delete from t user進行刪除,這樣操作太慢了,需要等好長時間,如果資料量更大,那麼我們要等的時間無法想象。可以用以下方法進行刪除 假設要刪除的原表為source t 第一步 生成中間表 1 create table source t...

怎麼快速刪除大資料量表

要清空表中資料,100w條資料以上的表,開始我們使用delete from t user進行刪除,這樣操作太慢了,需要等好長時間,如果資料量更大,那麼我們要等的時間無法想象。可以用以下方法進行刪除 假設要刪除的原表為source t 第一步 生成中間表 1 create table source t...