update100万条记录怎么条,等了半天,怎么知道UPDATE了多少条啊??

bbcboy 2006-07-13 11:22:20
update100万条记录怎么条,等了半天,怎么知道UPDATE了多少条啊??
...全文
788 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
boydgmx 2006-07-27
  • 打赏
  • 举报
回复
分批update吧,否则是无法知道已经更新的记录数的,不过回滚段的事情不用担心,100W条数据的更新还不至于把oracle默认的回滚段撑满
-----------------------------------------
回滚段真的不用担心吗?
如果你只是在本机做测试,或许可以不考虑,
但对于应用系统而言,成千上万用户正在使用,你真的不担心回滚段??
yhjvc 2006-07-27
  • 打赏
  • 举报
回复
我的经验是使用迂回的方式,找到与更新相关的表中或者设置一个标识或者使用能够起到标识作用的字段,然后再根据这些标识进行统计。
lee_billiy 2006-07-23
  • 打赏
  • 举报
回复
分批update吧,否则是无法知道已经更新的记录数的,不过回滚段的事情不用担心,100W条数据的更新还不至于把oracle默认的回滚段撑满
fjmingyang 2006-07-23
  • 打赏
  • 举报
回复
看下v$session_longop
liuyi8903 2006-07-23
  • 打赏
  • 举报
回复
建议用批量提交.

BTW:row%count可以返回多少条.
jametong 2006-07-13
  • 打赏
  • 举报
回复
可以使用dbms_application_info来设置..

不过不知道又有什么关系呢.. 可以使用v$transaction做一个大概的监控..

只要系统的undo, load能够承受就可以了..
lionant 2006-07-13
  • 打赏
  • 举报
回复
应该写个脚本,每10000条提交一次,否则估计回报回滚段太小或者快照过旧
LinZhongBao 2006-07-13
  • 打赏
  • 举报
回复
o ,哦,是阿,
fjmingyang 2006-07-13
  • 打赏
  • 举报
回复
同意楼上说法
boydgmx 2006-07-13
  • 打赏
  • 举报
回复
哈哈哈,大量数据的更新肯定是要分批来做的,你如果直接update,等再多时间也没用,估计会回滚段爆满啊~~

上网搜搜吧,分批更新
  • 打赏
  • 举报
回复
for i=0 to 100 do
begin
update tablename
set colume = xxx
where colume = 'xxxx' and rownum <10000;

commit;
end

上面的语句一千条来更新 然后循环执行100次
dhilyq 2006-07-13
  • 打赏
  • 举报
回复
肯定要分批,而且update的速度大家都知道是比其他的语句要慢的。同意lionant(剑舞清风) 的意见,写脚本更新10000条记录出一行信息提示。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧