关注
MVCC(多版本并发控制)是MySQL中用于解决幻读等并发问题的重要机制之一。它通过在事务开始时创建一个视图,该视图包含了事务启动时数据库中所有活跃数据的一个快照,来实现事务的隔离性。
当一个事务在执行过程中读取数据时,MySQL会根据该事务启动时的视图来确定应该看到哪个数据版本。这意味着即使其他事务在该事务执行期间对数据进行了修改,该事务也只会看到它启动时的数据版本,而不会看到其他事务对数据的修改,从而避免了幻读的发生。
具体来说,MVCC解决幻读的过程如下:
当一个事务开始时,MySQL会为该事务创建一个事务ID,并为其生成一个快照视图,该视图包含了数据库中所有活跃数据的一个快照。
当事务执行SELECT操作时,MySQL会使用该事务的快照视图来确定应该看到哪个数据版本。如果其他事务正在修改或插入数据,而这些数据是在该事务启动之后才被修改或插入的,那么该事务将看到的是启动时的数据版本,而不会看到其他事务的修改。
这样,即使其他事务在执行过程中对数据进行了修改,当前事务也不会受到影响,从而避免了幻读的发生。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
06-14 19:09
门头沟学院 Java darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何准备秋招 #
9313次浏览 165人参与
# 软开人,秋招你打算投哪些公司呢 #
100537次浏览 944人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
21670次浏览 184人参与
# 你觉得实习能学到东西吗 #
13678次浏览 336人参与
# 每个月的工资都是怎么分配的? #
12872次浏览 284人参与
# 实习,不懂就问 #
25655次浏览 406人参与
# 秋招什么时候开投比较合适? #
5572次浏览 124人参与
# 你觉得现在还能进互联网吗? #
4117次浏览 97人参与
# 预测一下26届秋招形势 #
21303次浏览 218人参与
# 技术岗笔试题求解 #
75326次浏览 974人参与
# 聊聊你的职场新体验 #
161192次浏览 1391人参与
# 你最近一次加班是什么时候? #
67682次浏览 346人参与
# 高考出分的那一天,我__ #
14651次浏览 245人参与
# 打工人的精神状态 #
53554次浏览 973人参与
# 机械实习一天多少钱合适? #
28771次浏览 176人参与
# 米哈游工作体验 #
17571次浏览 116人参与
# 非技术岗简历怎么写 #
216547次浏览 2915人参与
# 你们公司几号发工资 #
18755次浏览 118人参与
# 你觉得实习只能是打杂吗? #
192084次浏览 1213人参与
# 来聊聊你认为的薪资天花板是哪家? #
30710次浏览 174人参与
# 安利/避雷我的专业 #
75886次浏览 522人参与