Oracle中大批量刪除數(shù)據(jù)的方法
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
方法雖好,但我應(yīng)用在一個(gè)億級(jí)數(shù)據(jù)庫(kù)時(shí)還是覺(jué)得慢得不行。就算刪一點(diǎn)點(diǎn)數(shù)據(jù)也覺(jué)得好象挺慢的。
相關(guān)文章
Oracle實(shí)現(xiàn)分頁(yè)查詢(xún)的SQL語(yǔ)法匯總
這篇文章主要介紹了Oracle實(shí)現(xiàn)分頁(yè)查詢(xún)的SQL語(yǔ)法,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08Oracle設(shè)置DB、監(jiān)聽(tīng)和EM開(kāi)機(jī)啟動(dòng)的方法
這篇文章主要介紹了Oracle設(shè)置DB、監(jiān)聽(tīng)和EM開(kāi)機(jī)啟動(dòng)的方法,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04DBF 文件恢復(fù) ORACLE 數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了DBF 文件 ORACLE 數(shù)據(jù)庫(kù)恢復(fù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Oracle創(chuàng)建只讀賬號(hào)的詳細(xì)步驟
本文介紹了Oracle創(chuàng)建只讀賬號(hào)的詳細(xì)步驟,有此需求的朋友可以參考下過(guò)程2021-06-06Oracle數(shù)據(jù)庫(kù)中的基本建庫(kù)操作詳解
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)中的基本建庫(kù)操作詳解,其中包含了很多OMF下的命令操作實(shí)例,需要的朋友可以參考下2015-12-12計(jì)算機(jī)名稱(chēng)修改后Oracle不能正常啟動(dòng)問(wèn)題分析及解決
更改計(jì)算機(jī)名稱(chēng)后,oracle不能正常啟動(dòng)的相信有很多的朋友都有遇到過(guò)這種情況吧,接下來(lái)為大家介紹下詳細(xì)的解決方法感興趣的朋友可以參考下哈2013-04-04Weblogic控制臺(tái)修改用戶(hù)密碼的教程分享
這篇文章主要為大家詳細(xì)介紹了Weblogic控制臺(tái)修改用戶(hù)密碼的方法,文中通過(guò)圖片進(jìn)行了詳細(xì)的講解,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08oracle 庫(kù)中有表 但是查詢(xún)顯示表不存在的問(wèn)題
這篇文章主要介紹了oracle 庫(kù)中有表 但是查詢(xún)顯示表不存在,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01