快速批量更新数据
来源:互联网 发布:网络手游赚钱排行榜 编辑:程序博客网 时间:2024/06/06 02:55
生产环境有时候表结构变更,需要在新增字段设置默认值,为不长时间锁表,在add 字段时候不能加default * 需要后续做大批量数据变更,在我们的架构中,更新效率太低或是一个事务更新太多记录使OGG延时加剧,所以就有了下面这个批量更新模板。给大表新增字段需要注意事项,请参考 :大表新增字段set serveroutput ondeclare v_cnt int := 0; TYPE ARRROWID IS TABLE OF ROWID INDEX BY BINARY_INTEGER; TBROWS ARRROWID; ROW PLS_INTEGER; CURSOR BACH_CUR IS SELECT ROWID ROW_ID FROM XHL.DELTEST where OWNER = 'XHL';BEGIN OPEN BACH_CUR; LOOP FETCH BACH_CUR BULK COLLECT INTO TBROWS limit 50000; /* 每次更新50000*/ FORALL ROW IN 1 .. TBROWS.COUNT() UPDATE PAYADM.DELTEST SET STATUS=1 WHERE ROWID = TBROWS(ROW); COMMIT; v_cnt := v_cnt + TBROWS.COUNT(); DBMS_LOCK.SLEEP(1); /* 休息一秒让OGG能缓过神来*/
EXIT WHEN BACH_CUR%NOTFOUND;
END LOOP; dbms_output.put_line('UPDATE SUCC:'||v_cnt); CLOSE BACH_CUR;END;/
- 快速批量更新数据
- 利用rowid快速在线更新海量数据-批量更新
- 度量快速开发平台:网格部件批量更新数据
- 批量更新数据
- 批量更新数据
- 批量更新数据.
- 批量更新数据
- 批量更新数据
- 批量更新数据
- 批量更新数据
- Hibernate批量更新数据
- Oracle批量更新数据
- SqlCommandBuilder批量更新数据
- 批量更新重复数据
- 批量关联更新数据
- SqlCommandBuilder批量更新数据
- 批量数据更新
- oracle批量更新数据
- Android apk 反编译
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- error: implicit declaration of function ‘class_device_create’
- Ubuntu 12.04 禁用GUEST用户
- 作为一个菜鸟,成都区域赛实在是收获太多了
- 快速批量更新数据
- set -e and set -o pipefail
- SVN服务器搭建
- UVA 11176 Winning Streak
- Android如何防止apk程序被反编译
- Log4j.xml 配置模板
- hdu 3038 - How Many Answers Are Wrong(并查集)
- Git 使用的简单汇总 .
- ACM 中常用小算法(慢慢更新)