oracle批量删除
来源:互联网 发布:买黄金软件下载 编辑:程序博客网 时间:2024/05/22 03:29
项目中有个需求需要每个月末定时去删除一张表里的历史数据,
刚开始就写了一个简单的delete语句,然后起一个JOB定时去调用,
后来被告知历史数据量很大,所以从性能和安全上考虑对sql进行了如下修改:
declare cursor ID_KEY_CURSOR is select ID_KEY from X_TABLE where X_COLUMN = "xxx"begin for V_TO_DEL in ID_KEY_CURSOR loop delete X_TABLE where ID_KEY = V_TO_DEL.ID_KEY if mod(ID_KEY_CURSOR%Rowcount, 5000) = 0 then commit; end if; end loop; commit;end;
将处理的数据每5000笔提交一次,分批处理;
ID_KEY可以是X_TABLE的主键,也可以是ROW_ID;
上面的方法使用了游标,循环打开游标会影响一定的性能
下面是一种效率更高的方法
begin loop delete from table_name where column_name = 'xxx' and rownum <=5000; exit when sql%notfound; commit; end loop;end;
阅读全文
0 0
- 批量删除oracle 会话
- oracle批量删除表
- 【Oracle】批量删除表
- oracle批量删除
- Oracle中批量删除数据
- Oracle批量删除表脚本
- Oracle中批量删除数据
- oracle 批量创建删除多用户
- Oracle中批量删除数据
- Oracle中批量删除数据
- Oracle中批量删除数据
- oracle快速批量删除数据
- oracle批量删除的方法
- oracle快速批量删除数据
- Oracle批量删除表脚本
- linux 批量删除oracle 进程
- oracle 测试窗口批量删除
- 删除oracle一批表 批量删除oracle中表 -清理回收站
- 如何使用电脑扫描二维码
- 第四周【项目4
- Jetty官网下载(历史版本)
- JAVASE(字符串)
- Ubuntu安装Github
- oracle批量删除
- ZlycerQan的 八云蓝(ran )
- 求1-100中数字‘9’出现的次数
- QSS(CSS)文件在Qt中的使用
- HDU 1045-Fire Net(DFS)
- 三次样条插值
- 使用servlet 实现简单的验证码
- SpringMVC AJAX异步文件上传
- 浅谈C++中指针和引用的区别