首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说 InnoDB 的 MVCC
[问答题]
请你说说 InnoDB 的 MVCC
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(24)
分享
纠错
7个回答
添加回答
2
牛客680465626号
是一种用于解决读写冲突的的无锁并发控制机制,能够提高数据库的并发性能,更好的解决读写冲突,即使有读写冲突,也能够做到不加锁、不阻塞的并发读写,同时还能解决脏读、幻读、不可重复读的问题。
发表于 2022-08-03 16:44:19
回复(0)
1
牛客703863986号
为了解决读写冲突无锁的并发控制机制,一个数据维护多个版本,能解决脏读,幻读,不可重复读的问题
发表于 2023-03-21 22:16:03
回复(0)
1
牛客616805299号
快照包含了当前哪些事务id是活跃的,之后读取时不能读这部分
发表于 2022-05-21 08:21:32
回复(0)
0
雏鹰划空
1. MVCC:多版本并发控制机制。 2. 解决的问题是:在不加锁的情况下,解决读写冲突问题,解决了脏读、幻读、不可重复读问题。 3.技术依赖: =》隐藏列:每行数据都有隐藏列,包括:事务ID、undo log指针 =》undo log链表:每一个undo log代表这行数据的一个版本。 =》readView:内存快照,当所有的事务都提交的时候,数据库会创建一个新的快照(版本),然后,接下来所有新开始的事务都会读取到这个快照。注意,这里不会出现脏读,因为快照形成的那一刻,是所有的事务都提交的。接下来,是新事务的开始状态。
发表于 2023-11-08 21:53:47
回复(0)
0
零offer小菜鸡
多版本并发控制,一种用于解决无锁情况下的并发控制机制,可以解决脏读、幻读和不可重复读。
发表于 2023-09-23 09:50:03
回复(0)
0
卧槽型选手
MVCC全称是Multi-Version Concurrency Control ,即多版本并发控制。目的在于维持数据库的多个版本,使得读写没有冲突,提高数据库的并发能力和效率。可以做到无锁操作,并发非阻塞读写。同时还能解决脏读、不可重复读、幻读的问题。 但不能解决更新丢失问题 实现原理主要是依赖记录中的 3个隐式字段、undo日志 、Read View 1. 隐藏列:InnoDB中每行数据都有隐藏列,隐藏列中包含了最后一次修改该记录的事务ID、指向undo log的指针、隐藏主键(没有指定主键的时候才有) 2. 基于undo log的版本链:每行数据的隐藏列中包含了指向undo log的指针,而每条undo log也会指向更早版本的undo log,从而形成一条版本链。 3. ReadView:读取的是记录数据的可见版本,有可能是历史数据
发表于 2022-10-29 21:35:05
回复(0)
0
牛客689757181号
MVCC多版本并发控制,解决数据库读写冲突,读写
发表于 2022-09-27 20:16:53
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数据库
上传者:
real19931
难度:
7条回答
24收藏
724浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3692)
来自
华为研发工程师编程题
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题