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

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 从顶到拉给所有面过的公司评分 #
20337次浏览 180人参与
# 机械人春招想让哪家公司来捞你? #
357393次浏览 3109人参与
# 为了求职,我做过的疯狂伪装 #
12545次浏览 230人参与
# 晒晒你的中秋福利 #
15231次浏览 98人参与
# 职场破冰,你们都聊什么? #
7258次浏览 75人参与
# 大家实习每天都在干啥 #
89076次浏览 518人参与
# 校招笔试 #
648次浏览 30人参与
# 机械笔面试考察这些知识点 #
10500次浏览 96人参与
# 你的公司给实习生发中秋礼物吗 #
1934次浏览 30人参与
# bilibili求职进展汇总 #
89533次浏览 810人参与
# 工作压力大怎么缓解 #
105189次浏览 1052人参与
# 秋招OC许愿 #
346888次浏览 2530人参与
# 广联达求职进展汇总 #
11038次浏览 50人参与
# 机械人怎么评价今年的华为 #
208984次浏览 1524人参与
# 宣讲会你有哪些意向不到的收获 #
1427次浏览 22人参与
# 聊聊这家公司值得去吗 #
558967次浏览 3712人参与
# 你面试被问到过哪些不会的问题? #
21935次浏览 817人参与
# 百度秋招提前批进度 #
150429次浏览 1770人参与
# 电网笔面经互助 #
46765次浏览 431人参与
# 秋招的嫡长offer #
30566次浏览 285人参与