一段话系列-mysql一致性视图中的当前读

原创
2019/12/05 17:47
阅读数 1.4K

mysql的innob引擎使用一致性视图(版本控制)来保证事务之间的隔离性,但是在业务中会有这样的清秀,一个字段值为3,在两个同时开启的事务中分别使用update语句进行-1,两个事务分别提交后,该字段的值不是2,而是1;有人会疑惑innob为了隔离性分别为每个事务创建了一个数据库版本(一致性视图),在版本中字段的值都为3,分别-1之后的值,为什么不为2呀?因为,在mysql中存在【当前读】,在update执行中,会先读当前版本的值,然后进行值的更新,其中使用当前读的DDL操作:select+锁、update、insert、delete

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部