服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Mssql|Oracle|Redis|

服务器之家 - 数据库 - Oracle - Oracle中大批量删除数据的方法

Oracle中大批量删除数据的方法

2019-10-27 16:21Oracle教程网 Oracle

Oracle中大批量删除数据的方法

写一个循环删除的过程。 
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;  
调用: 
SQL> set timing on 
SQL> exec delBigTab('HS_DLF_DOWNLOG_HISTORY','NUMDLFLOGGUID < 11100000','10000'); 
PL/SQL procedure successfully completed. 
Elapsed: 00:00:18.54 
方法虽好,但我应用在一个亿级数据库时还是觉得慢得不行。就算删一点点数据也觉得好象挺慢的。 

延伸 · 阅读

精彩推荐
  • OracleORACLE常见错误代码的分析与解决

    ORACLE常见错误代码的分析与解决

    (一)在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可 能一时不知怎么去处理产生的这些错误...

    ORACLE教程网4122019-10-21
  • OracleOracle数据库的备份及恢复策略研究

    Oracle数据库的备份及恢复策略研究

    恢复丢失的数据库文件在很大程度上取决于所采用的备份策略。本文从恢复的灵活性出发,对Oracle8数据库的备份及恢复策略进行了探讨,并给出了Windows2...

    Oracle教程网3552019-10-25
  • OracleOracle 数据表分区的策略

    Oracle 数据表分区的策略

    本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义...

    Oracle教程网3262019-10-26
  • Oracle如何确定Oracle数据库表重复的记录

    如何确定Oracle数据库表重复的记录

    作为一个 Oracle 数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01452:不能创建唯...

    Oracle教程网1612019-10-25
  • OracleORACLE常见错误代码的分析与解决(一)

    ORACLE常见错误代码的分析与解决(一)

    正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决(一)。在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有...

    ORACLE教程网3242019-10-18
  • OracleOracle SQL性能优化系列学习一

    Oracle SQL性能优化系列学习一

    Oracle SQL性能优化系列学习一...

    Oracle教程网3452019-10-23
  • Oracle有关Oracle数据库的备份情况

    有关Oracle数据库的备份情况

    一、意义: 当我们使用一个 数据库 时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、网络故障、进程 故障和系统故障)影...

    Oracle教程网1792019-10-20
  • OracleOracle Index 的三个问题

    Oracle Index 的三个问题

    索引(Index)是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database的性能。虽然有许多资料讲索引的用法,DBA和Developer们...

    Oracle教程网4102019-10-24
北京塞车全天计划精准版