java_Oralce
简单范例
create or replace procedure delete_table
is
i number(10);
begin
for x in (select * from emp where DEPTNO like 'a%')
loop
delete emp where emp.id = x.id
i:=i+1;
if i>1000 then
commit;
i:=0;
end if;
end loop;
exception
when others then
dbms_out.put_line(sqlcode);
rollback;
end delete_table;
Oracle中删除超过50w条记录的数据,如果直接使用delete,效率就严重受到了影响。那么首先我们需要了解对于这个表的数据,我们到底是全部删除,还是部分删除。这里有三个关键字我们需要注意:truncate,delete,drop,他们之间的异同点可以参考这篇文章——truncate,delete,drop的异同点。
全部删除,不保留数据结构就直接drop最好。如果是部分删除,一般就这样一些办法:
1. 如果删除的数据是大部分,分段提交删除的数据。
| create or replace procedure delete_table is i number(10); begin for x in (select * from emp where DEPTNO like ‘a%’) loop delete emp where emp.id = x.id i:=i+1; if i>1000 then commit; i:=0; end if; end loop; exception when others then dbms_out.put_line(sqlcode); rollback; end delete_table; |
或者
|
–每500条数据提交一次 |
2、把要保留的数据放在一个临时表里,truncate table原表后再放回来;
| create table t_back as select * from t where …. drop table t; rename t_back to t; |
3. 专门使用一个大回滚段 ,比如定义:undo tablespace 2G
4、如果将方法1做一点修改,可以这么做:
|
有条件的分步删除数据表中的记录 –创建测试表 –创建删除表的存储过程 –插入语句 –执行语句 |
java_Oralce的更多相关文章
随机推荐
- 使用rpmbuild来创建自己的RPM
1. 进行创建必须的目录 在6.2的版本中,路径发生了变化,必须在此路径中,否则必须要修改配置文件. 2. 创建脚本文件 编写一个简单的脚本,然后将脚本进行打包为tar.gz格式的压缩文件,并且将其放 ...
- qqmap 的一些操作
; var mapcontorl = "mapContainer"; var fullscreen = false; function qqMap(options) { var t ...
- jquery阻止冒泡事件:$('span').bind("click",function(event){event.stopPropagation();})(有用源)
冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. <body> <div id="content"> 外层div元素 <span> ...
- [HIve - LanguageManual] Union
Union Syntax select_statement UNION ALL select_statement UNION ALL select_statement ... UNION is use ...
- angularJS笔记
1.MVC ng-app: html表头处,每个htnl文件只能有一个ng-app ng-controller :js文件中定义 ng-model:只要引用了angularJS就可以使用 js文件代码 ...
- RestTemplate中文乱码问题
使用RestTemplate传输带有图片的表单时,需要对表单中的中文参数进行URL编码, eg :URLDecoder.decode(name); // 使用默认的解码 ...
- BestCoder Round #70 Jam's math problem(hdu 5615)
Problem Description Jam has a math problem. He just learned factorization. He is trying to factorize ...
- 最新的支持DELPHI XE6的开发框架
支持负载均衡集群的中间件 主界面 插件管理 角色与权限 用户与权限
- Light oj 1234 - Harmonic Number
题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 给你一个数n,让你求 这个要是直接算的话肯定TLE,要是用1e8的数组预处理存储 ...
- POJ 3660 Cow Contest (Floyd)
题目链接:http://poj.org/problem?id=3660 题意是给你n头牛,给你m条关系,每条关系是a牛比b牛厉害,问可以确定多少头牛的排名. 要是a比b厉害,a到b上就建一条有向边.. ...