主頁 > 知識庫 > Oracle中大批量刪除數(shù)據(jù)的方法

Oracle中大批量刪除數(shù)據(jù)的方法

熱門標簽:南通防封外呼系統(tǒng)運營商 語音電話機器人缺點 淮安自動外呼系統(tǒng)開發(fā) 廣州市400電話辦理 語音電話機器人營銷方案 百變地圖標注 地圖標注原件 宜賓外呼系統(tǒng)廠家 修改高德地圖標注
寫一個循環(huán)刪除的過程。
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 = :10000'
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 delBigTab; 
調(diào)用:
SQL> set timing on
SQL> exec delBigTab('HS_DLF_DOWNLOG_HISTORY','NUMDLFLOGGUID  11100000','10000');
PL/SQL procedure successfully completed.
Elapsed: 00:00:18.54
方法雖好,但我應用在一個億級數(shù)據(jù)庫時還是覺得慢得不行。就算刪一點點數(shù)據(jù)也覺得好象挺慢的。

標簽:聊城 襄陽 嘉峪關 池州 股票投資 通化 南平 南平

巨人網(wǎng)絡通訊聲明:本文標題《Oracle中大批量刪除數(shù)據(jù)的方法》,本文關鍵詞  Oracle,中,大批量,刪除,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle中大批量刪除數(shù)據(jù)的方法》相關的同類信息!
  • 本頁收集關于Oracle中大批量刪除數(shù)據(jù)的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章