oracle大資料量分批刪除
很多時候,我們要清理一個大表的資料,比如幾個億,業務還不能停,還只能delete,這種情況下分批刪除是個好辦法。
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; DBMS_OUTPUT.PUT_LINE(n_delete); end if; commit; end loop; commit; DBMS_OUTPUT.PUT_LINE('Finished!'); DBMS_OUTPUT.PUT_LINE('Totally ' || to_char(n_delete) || ' records deleted!'); end;
執行方法: exec delBigTab('XXXXX','status=1','10000');
清理表之後,重新收集下該表的統計資訊
EXECUTE dbms_stats.gather_table_stats (ownname=>'XXXX', tabname=>'XXXXXX',estimate_percent=>30,cascade=>true,degree => 4);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2200360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle delete 分批刪除Oracledelete
- Oracle中大資料量刪除Oracle大資料
- 大資料量刪除的思考(二)大資料
- 大資料量刪除的思考(三)大資料
- 大資料量刪除的思考(四)大資料
- 大資料量刪除的思考(一)大資料
- Oracle 刪除千萬級資料量時,可以考慮以下方法來提高刪除效率Oracle
- 利用隱式遊標分批刪除資料的procedure
- oracle 大資料量資料插入Oracle大資料
- Oracle大表刪除部分資料的最佳方案Oracle
- 刪除大表資料
- 【Oracle】刪除大表操作一則Oracle
- sql server編寫archive通用模板指令碼實現自動分批刪除資料SQLServerHive指令碼
- oracle刪除重資料方法Oracle
- Oracle 刪除資料檔案Oracle
- 如何刪除oracle資料庫Oracle資料庫
- oracle刪除資料檔案Oracle
- 手工刪除oracle資料庫Oracle資料庫
- 刪除 oracleOracle
- Oracle分批提交DMLOracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- python 刪除大表資料Python
- Oracle DBMS_STATS.SET_TABLE_STATS 模擬大資料量進行 SQL 除錯和優化Oracle大資料SQL除錯優化
- oracle手動刪除資料庫Oracle資料庫
- 手動刪除oracle資料庫Oracle資料庫
- oracle恢復誤刪除資料Oracle
- 轉:Oracle刪除資料檔案Oracle
- Oracle閃回刪除恢復誤刪資料Oracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄) 轉Oracle
- 【轉】oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- Oracle億級大表高效刪除案例分析Oracle
- oracle外部表實現大資料量的Excel匯入Oracle大資料Excel
- 批量刪除Oracle資料庫的資料Oracle資料庫
- 如何刪除大表中的資料
- Oracle DBMS_STATS.SET_TABLE_STATS 模擬大資料量進行 SQL 除錯和最佳化Oracle大資料SQL除錯
- ORACLE刪除-表分割槽和資料Oracle
- windows下Oracle資料庫完全刪除WindowsOracle資料庫
- oracle徹底刪除資料檔案Oracle