大表中的大量数据update问题?

赵举飞 2017-12-11 09:26:49
一个大表可能是半年的数据,数据量极大,现在每天update一点数据,这一天的可能也有几十万,直接update很慢,有什么办法可以update?或者变相的update也可以,update后数据还要保留在原标里。
...全文
755 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
赵举飞 2020-04-07
引用 9 楼 ma_shuqiang 的回复:
楼主最后怎么解决的忘告知
循环体里是多线程,多线程去分批次查询(类似分页),每个线程把自己的数据放到临时表中,然后做业务处理后update主表,删除临时表。多个线程全部跑完才能进行一下次循环,否则你的分页查询就会乱,注意查询时加排序(排序字段不能有重复数据)。上述办法适合oracle等大型数据库,像mysql这种小型数据库,性能一般,就没有多好的办法。传统技术搞大数据。
  • 打赏
  • 举报
回复
楼主最后怎么解决的忘告知
  • 打赏
  • 举报
回复
多么不容易 2019-04-03
额。。。这个问题就太监了么,每个结果呢
  • 打赏
  • 举报
回复
多么不容易 2019-04-03
引用 7 楼 济南大飞哥 的回复:
[quote=引用 6 楼 多么不容易 的回复:]
额。。。这个问题就太监了么,每个结果呢


我也忘了当时什么需求驱动,最后自己怎么搞的了...[/quote]
好吧,还是很感谢大哥的回复
  • 打赏
  • 举报
回复
赵举飞 2019-04-03
引用 6 楼 多么不容易 的回复:
额。。。这个问题就太监了么,每个结果呢
我也忘了当时什么需求驱动,最后自己怎么搞的了...
  • 打赏
  • 举报
回复
minsic78 2017-12-15
即便几十万,即便不分区,所以对付这种数据量还是能凑合凑合的,当然,如果你要求什么“秒级返回”、“眨眼搞定”,那是不可能的。 其实我想问题应该在于:你的update的执行是否稳定?是否每次update相同数据量的时候速度都差不多?会不会遇到了SQL性能问题之外的其他等待?
  • 打赏
  • 举报
回复
游灬魂 2017-12-15
update换merge into
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-12-11
一天才几十万条数据,数据量算是非常小的了。
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-12-11
update的条件是什么? 可以创建日分区表,每天update一个分区,速度还是非常快的。
  • 打赏
  • 举报
回复
卖水果的net 2017-12-11
分批更新,每个 update 只更新1万行,然后马上就commit,再更新下一批。
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2017-12-11 09:26
社区公告
暂无公告