oracle几百万条数据怎么update

oracle几百万条数据怎么update,第1张

首先要区分具体情况,虽然表里有几百万几千万的数据量,但是update是同时update这几百万条的数据呢?还是只更新其中某几条? 更新的数据量不同,解决方案自然也就有差异。同时update几百万数据,这个sql的性能影响在于数据库会做回滚段,以便异常时rollback。由于数据量大,性能就浪费在回滚段上了。 所以有2个方案供参考:

1. update时 ,禁用回滚段的生成,跟你前面说的nologing应该是一个意思

2. 分批更新,比如每更新10W条数据,就执行一次commit,这样效率也会比原来的要快。

说明:博客里面记录的方法也是查看其它一些博客而来,但是因为查看博客后关闭了浏览器,忘记记录原作者们的链接,请见谅

1.插入

1.1建立一张临时表

CREATE table t_sequence_num1(

sequenceNum number(8) not null

)

1.2插入临时表数据

1.3执行插入数据 *** 作

2.更新一百万条数据

总结:插入100万数据大概20s左右,更新100万数据,用like语法,使用时间大概2分钟左右,此处用like是确实只有这个条件可以查询出需要更新的数据,暂时没有想到其他比较好的方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9942478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存