首页 新闻 搜索 专区 学院

Mysql日志真能减少磁盘IO吗?

0
悬赏园豆:5 [已解决问题] 解决于 2021-03-16 10:03

问题出处,丁奇45讲
疑惑:Mysql每次执行完Sql语句之后,不是立马更新磁盘数据吗?不然怎么保证数据一致性?如果按照日志空闲提交法,A修改一个数据,B有可能一个小时后才能看到数据,那么Mysql不是就失去了价值。
所以:每一次执行完Sql,必然会更新磁盘,那么,日志减少磁盘IO,不就是错误的论证吗?
可是,丁奇是大佬,应该不会错的,是我想的方向哪里出问题了吗?

问题补充:

丁奇45讲,第二讲,update语句底层,日志优化频繁磁盘IO

玄月白的主页 玄月白 | 初学一级 | 园豆:6
提问于:2021-03-13 14:21
< >
分享
最佳答案
0

我们增删改查的数据都是缓冲池中的数据,如果一条数据被修改了,会被放到缓冲池的flush list中,这时候我们马上查询这条数据,查的也是flush list中的数据,flush list中的脏页会通过checkpoint的机制刷盘

收获园豆:5
Hedwiglzy | 初学一级 |园豆:147 | 2021-03-15 17:08

我也是这样想的,只是不大确定

玄月白 | 园豆:6 (初学一级) | 2021-03-16 10:03
其他回答(1)
0

日志让随机IO变成顺序IO降低IO成本。日志让数据可以批量刷盘来减少IO次数

通信的搞程序 | 园豆:1729 (小虾三级) | 2021-03-13 22:09

可是如果是批量,那么磁盘上的数据,怎么和用户操作及时同步?用户对某条数据做了修改,提交至内存,未提交到磁盘,累计批量,在批量过程中间,他的操作,不能被磁盘感知,就造成了数据不一致

支持(0) 反对(0) 玄月白 | 园豆:6 (初学一级) | 2021-03-14 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册