首页
|
文档
|
社区
|
登录
|
注册
|
留言 / Bug提交
MYSQL 一个UPDATE批量更新 会部分更新吗
阅读:282043
|
作者:xys***@126.com
|
发布时间:2019-01-21 17:35:58
MYSQL 中,一个update语句,如果要更新数百万行记录,在异常出现的情况下(比如突然断电、系统资源耗尽),有没有可能只更新了部分数据?或者导致数据库崩溃?
关键词:MYSQL UPDATE 批量更新 事务 binlog
网友回答
11
条回答
<br /><span style="color:#cccccc;font-size:15px;display:block;"> 您好,登录后方可回答!</span>
xysmc
: 可能会只更新了部分数据,一般不会引起崩溃。
2019-01-21 17:52:03
举报
赞 2
踩 2
回复
xysmc
回复
xysmc
:
好
2019-01-21 20:03:55
举报
赞 5
踩 1
回复
xysmc
回复
xysmc
:
好
2019-01-21 20:04:56
举报
赞 1
踩 1
回复
xysmc
回复
xysmc
:
好
2019-01-21 20:16:50
举报
赞 1
踩 1
回复
xysmc
回复
xysmc
:
好
2019-01-21 20:18:28
举报
赞 1
踩 1
回复
xysmc
回复
xysmc
:
好
2019-01-21 20:20:01
举报
赞 1
踩 1
回复
xysmc
:
经咨询MYSQL大牛,得出如下结论:
没有开启事务会出现更新了部分数据的问题,断电一般不会导致数据库崩溃,只有资源耗尽时才容易导致数据库崩溃。
MYSQL更新数据的原理是,binlog 的写入逻辑比较简单:事务执行过程中,先把日志写到 binlog cache,再把 binlog cache 写到 binlog 文件中,然后再逐条更新。
对于大批量的数据更新,为保证更新的原子性,应开启事务,哪怕只有一条SQL语句。
2019-01-21 18:02:11
举报
赞 2
踩 1
回复
yes***@yun.com
:
2020-03-29 19:25:37
举报
赞 7
踩 1
回复
+ 添加关注
TA关注了
2
人
TA被
1
人关注
TA最近发布的文章/问题
NGINX当中的SSL配置提示输入PEM密码:Starting nginx: Enter PEM pass phrase:
js数组合并和对象合并
PHP 静态变量的继承
.git/index.lock': File exists. git提交,提示.lock文件已存在
MYSQL 一个UPDATE批量更新 会部分更新吗
HTML5网页禁止或允许用户缩放
×
微信扫一扫关注公众号