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

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

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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