社区
Oracle
帖子详情
大表中的大量数据update问题?
济南大飞哥
2017-12-11 09:26:49
一个大表可能是半年的数据,数据量极大,现在每天update一点数据,这一天的可能也有几十万,直接update很慢,有什么办法可以update?或者变相的update也可以,update后数据还要保留在原标里。
...全文
1190
9
打赏
收藏
大表中的大量数据update问题?
一个大表可能是半年的数据,数据量极大,现在每天update一点数据,这一天的可能也有几十万,直接update很慢,有什么办法可以update?或者变相的update也可以,update后数据还要保留在原标里。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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,再更新下一批。
MySQL DML 语言(插入、更新与删除
数据
)
Re: MySQL DML 语言(插入、更新与删除
数据
) ======================= # DML
数据
操作语言 包括动词:INSERT、
UPDATE
、DELETE 等等 它们分别用于添加、修改和删除表中的行(
数据
) # 插入、更新与删除
数据
...
大表中
大量
数据
更新
问题
最近遇到个大批量
数据
更新表字段
问题
,需要将A表中m字段保存的字符串进行某种统一格式的替换,where条件类似m like ‘aaa%’。源
数据
有1700万条,需要更新的
数据
有200多万条。因为所更新的字段没有索引,如果用
update
set from where m like 'aaa%' 更新时需要锁表,这在生产环境是不允许的。以下是更新
数据
的方法。 方法: 1、先建立备份表backup,...
【MySQL】
update
大量
数据
批量更新
文章目录更新字段,多种操作更新一条
数据
的某个字段,一般这样写:更新同一字段为同一个值,mysql也很简单,修改下where即可:更新多条
数据
为不同的值,可能很多人会这样写:那么能不能一条sql语句实现批量更新呢?使用case 更新字段,多种操作 mysql更新语句很简单, 更新一条
数据
的某个字段,一般这样写:
UPDATE
mytable SET myfield = 'value' WHERE other_field = 'other_value'; 更新同一字段为同一个值,mysql也很简单,修改下wh
对
大量
数据
的
update
优化操作
最近做的项目,上线后出了不少
问题
,所以我就经常去查
数据
库
数据
,翻各种日志等,但是在查询的时候发现好蛋疼,有些地方的时间是写 “2016-08-11 20:13:02”这种格式,有些地方的时间是写 “1470917582000”这种格式,然后多张表
数据
进行对比的时候就很蛋疼,我得不停进行时间转换,恶心得不行。最后实在忍不了,我要统一时间格式 (由于时间都是单独一个字段记录,所以比较好处理),两种格式,
Mysql大表
update
的正确姿势
前言 有些时候在进行一些业务迭代时需要我们对Mysql表中
数据
进行全表
update
,如果是在
数据
量比较小的情况下(万级别),可以直接执行sql语句,但是如果
数据
量达到一个量级后,就会出现一些
问题
,比如主从架构部署的Mysql,主从同步需要需要binlog来完成,而binlog格式如下,其中使用statement和row格式的主从同步之间binlog在
update
情况下的展示: 格式 内容 statement 记录同步在主库上执行的每一条
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章