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...