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
方法虽好,但我应用在一个亿级数据库时还是觉得慢得不行。就算删一点点数据也觉得好象挺慢的。
相关推荐
-
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
-
PHP 批量删除数据的方法分析
大家可以参考下面的这篇文章http://www.jb51.net/article/6488.htmSQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开. 表单: 复制代码 代码如下: <form action="?action=doing" method="post"> <input name="ID_Dele[]" type=&quo
-
php+mysqli实现批量执行插入、更新及删除数据的方法
本文实例讲述了php+mysqli实现批量执行插入.更新及删除数据的方法.分享给大家供大家参考.具体如下: mysqli批量执行插入/更新/删除数据,函数为 multi_query(). 下面的代码只是批量插入数据,事实上,插入数据.更新数据.删除数据等可以混合一起执行.查询时使用该函数,读取数据有点不太一样,具体参考如下代码: <?php //1.创建数据库连接对象 $mysqli = new MySQLi("localhost","root","
-
Thinkphp批量更新数据的方法汇总
以下小编给大家列出了三种实现thinkphp批量更新数据的方法,写的不好还请见谅,有意见欢迎提出,共同学习进步! 方法一: //批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式 function batch_update($table_name='',$data=array(),$field=''){ if(!$table_name||!$data||!$field){ return false; }else{ $sql='UPDATE '.$table_name
-
Android使用ListView批量删除item的方法
本文实例讲述了Android使用ListView批量删除item的方法.分享给大家供大家参考,具体如下: 利用CheckBox选中一个或多个item,最后批量删除它们. 程序运行效果图如下: 下面开始上码: (代码已更正,已解决滚动时紊乱的问题) package com.test.adapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
-
PHP+JS实现批量删除数据功能示例
本文实例讲述了PHP+JS实现批量删除数据功能.分享给大家供大家参考,具体如下: 表单 <form id="form2" name="form2" method="post" action="del_product.php" onsubmit="return checkF(this)"> <label> <input type="checkbox" name
-
Mybatis批量删除数据操作方法
MyBatis的作用我想不用多说,今天说说MyBatis中的批量删除操作.废话不多说,先给大家一段代码片段! <delete id="deleteByStandardIds"> delete from t_standard_catalog where standard_id in <foreach collection="array" item="standardId" open="(" close=&quo
-
JS 在数组指定位置插入/删除数据的方法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 语法 arrayObject.splice(index,howmany,item1,.....,itemX) 参数说明 参数 描述 index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,则不会删除项目. item1, -, itemX 可选.向数组添加的新项目. 实例 添加一个元素 var array = [1,2,3,4,6]; ar
-
thinkPHP批量删除的实现方法分析
本文实例讲述了thinkPHP批量删除的实现方法.分享给大家供大家参考,具体如下: html: <li> <a class="delete" href="__URL__/deleteSelected/navTabId/__MODULE__" target="selectedTodo" posttype="string" calback="navTabAjaxMenu" rel='ids'
-
ThinkPHP实现批量删除数据的代码实例
ThinkPHP实现批量删除数据原理很简单,只需在模板页面里面写上<input name='id[]' type='checkbox' value='{$vo.id}' class="noborder">这样传过来就是一个数组,action的删除函数del()如下: /** **删除函数支持删除多条和一个 **/ function del(){ //dump($_GET['id']); //$name = strtolower($_GET['_URL_'][0]); //获
随机推荐
- YII动态模型(动态表名)支持分析
- XML CDATA的作用
- 使用AJAX实现Web页面进度条的实例分享
- redis常用命令小结
- ASP.NET获取真正的客户端IP地址的6种方法
- 如何获取C++类成员虚函数地址的示例代码
- python中的__slots__使用示例
- 用Python代码来解图片迷宫的方法整理
- jsp实现上一页下一页翻页功能(示例代码)
- PHP中for循环语句的几种变型
- thinkPHP实现表单自动验证
- python通过colorama模块在控制台输出彩色文字的方法
- 非常厉害的javascript 实现指针式时间
- ajax调用中ie缓存问题解决方法
- python解析xml文件实例分享
- Java面试题目集锦
- jQuery实现仿百度帖吧头部固定导航效果
- 浅谈window.onbeforeunload() 事件调用ajax
- javascript 内存回收机制理解
- 利用python计算windows全盘文件md5值的脚本