首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
Lyh0
2019-08-22 15:53
已编辑
Java
关注
已关注
取消关注
MVCC解决幻读
请求各位大佬,MVCC为什么不能避免幻读呢?根据版本号,每次SELECT出来的数据的创建版本号不是都小于当前事务版本号,那怎么还有幻读呢?
#笔试题目#
提示
全部评论
推荐
最新
楼层
球球Offer了
Java
你得看看快照读和当前读
7
回复
分享
发布于 2019-08-22 15:54
RDD2DAG
大数据开发工程师
select属于快照读操作,不会出现幻读,只有update、delete这种当前读操作才会出现幻读现象。 幻读的话,我给你举个例子,假如A事务正在查询id<10的所有数据,只存在id为1~7的数据,8、9并不存在,此时B事务向数据库插入id为8的数据,那么事务A就会出现幻读现象,本来是不存在id为8的数据的,但是像出现幻觉一样读取到了,这就是幻读。 解决的办法是加上next-key锁(也就是行锁+gap锁),gap锁会锁着id为8、9的两个位置,阻止事务A读取数据的时候,事务B向数据库插入数据,这样就避免幻读了
点赞
回复
分享
发布于 2019-08-22 16:31
联易融
校招火热招聘中
官网直投
高木同学
阿里巴巴_供应链平台事业部_Java开发
举个例子,假设说数据库里有一张表一共有3列,第一列是自增主键,隔离级别为RR级别。 原先数据库表里有3条数据 1 1 1 2 2 2 3 3 3 ------- 此时我开启一个事务A,执行一下select * ,然后再开启一个事务B,insert一条 444并commit。 之后再回到事务A,再次执行select *,毫无疑问111222333,符合可重复读。 再然后我执行一条 sql :update 第三列 = 5 之后再select 结果为 1 1 5 2 2 5 3 3 5 4 4 5 -------- 此时发生了幻读,要解决这个问题也很简单,楼上基本说了,就不多解释了。 如有错误麻烦指出。
点赞
回复
分享
发布于 2019-08-22 16:32
crud_boy_arthur
阿里巴巴_数字供应链_开发工程师
select是非锁定读,本来就不会幻读,update这种锁定读才会出现幻读,需要使用间隙锁避免幻读
点赞
回复
分享
发布于 2019-08-22 15:59
快手无敌内推
快手_高级Java开发工程师
RR级别下每个事务会创建一个快照,RR级别默认第一条SQL才创建快照,依据快照中记录的事务的高水位和低水位判断数据是否可见,低于低水位的必然可见,高于高水位的不可见,如果介于两者之间,也处于活动中的事务id的数据不可见,由此解决的,
2
回复
分享
发布于 2019-08-22 16:03
C.A.Y.P
Java
mvcc是快照读,本身就解决了幻读,当前读的情况下,用间隙锁解决了幻读
点赞
回复
分享
发布于 2019-08-22 16:23
我是一只快乐的小菜鸡
字节跳动_android开发
mvcc解决的是可重复读问题,next Key lock解决幻读问题
点赞
回复
分享
发布于 2019-08-22 15:55
快手无敌内推
快手_高级Java开发工程师
谁跟你说的每次查出来的数据的版本号都小于当时事务编号的??
点赞
回复
分享
发布于 2019-08-22 15:59
kafkal
杭州电子科技大学
幻读是会发现多了数据或者少了数据吧
点赞
回复
分享
发布于 2019-08-22 15:49
ChessC
Java
不能避免幻读??
点赞
回复
分享
发布于 2019-08-22 15:51
你好像一个人
前端工程师
不是默认开启了next keylock 已经避免幻读了吗
点赞
回复
分享
发布于 2019-08-22 15:52
offer来我怀里
Java
可重复读级别下通过间隙锁,应该是能解决幻读的问题
点赞
回复
分享
发布于 2019-08-22 15:54
等offer的小男孩
家里蹲
能避免幻读吧,或者可重复读+间隙锁
点赞
回复
分享
发布于 2019-08-22 15:56
池里游啊游
Java
因为mvcc里面的update是当前读?求大佬解释
点赞
回复
分享
发布于 2019-08-22 16:18
白夜之星
Java
可以避免。分快照读,当前读
点赞
回复
分享
发布于 2019-08-22 19:27
皮卡丘啦啦啦
微软_软件工程师
mvcc可以解决幻读,因为读取的是一个历史的快照。如果对数据实时性要求高的话,不推荐。
点赞
回复
分享
发布于 2019-08-22 20:31
联易融
校招火热招聘中
官网直投
相关推荐
他说你很帅
04-24 16:56
海康威视_硬件_硬件产品研发中心(实习员工)
海康日常实习和暑期实习
在海康日常实习中,但是部门没有转正hc,想投海康暑期实习可以吗?另外,简历里能加海康这段实习经历吗?就怕面试官问我为什么要离职引流。。华为,小米,字节,腾讯,阿里,百度,特斯拉
牛客帮帮团来啦!有问必答
点赞
评论
收藏
转发
sorano_
04-23 21:53
门头沟学院 计算机类
快手面试官还挺实诚
二面反问问了实习生转正培训等问题面试官直言不讳,校招才有培训实习没有,留用看秋招hc和用人部门,去年就一个,在hc少的同时还得表现突出。所以实习不会全干脏活,会贴着业务搞能上线的小项目供秋招用其他地方问这个基本都模模糊糊,第一次遇到这么直接的
点赞
评论
收藏
转发
昱乎昼
04-19 18:47
第一拖拉机制造厂拖拉机学院 计算机类
点……点击即送???
点赞
评论
收藏
转发
缘气少女
04-23 10:48
已编辑
西北大学 新闻传播学类
中科大复试被刷。。。四月初找工作基本无面试岗位回复少春招结束了还泡在池子里😭
投递中国科学技术大学等公司10个岗位
点赞
评论
收藏
转发
纯真的啤酒肚allin秋招
04-23 15:20
门头沟学院 电子信息类
谁来帮我选选offer
团子
行业运营
n*15.5
点赞
评论
收藏
转发
1
32
评论
分享
回复帖子
招聘动态
查看更多
滴滴
2025届秋招储备实习生招聘
联易融2024届营销管培生校园招聘
全站热榜
1
...
想来字节技术实习,看我这篇就够了!——保姆级面经大放送
1.9W
2
...
外卖员面试经验
1.8W
3
...
25届第一份实习怎么找?
1.7W
4
...
0实习经验上岸字节,分享一下过程经验
1.6W
5
...
【奖】来领牛币和静音鼠标啦~
1.5W
6
...
【0429快问快答】99%牛油的疑惑解答(更新至38个问题
1.4W
7
...
准备去参加自己的婚礼
1.2W
8
...
美团后端日常实习一二面(已oc)
9373
9
...
【💰有奖征集】非技术岗位笔面经邀你来分享!攒人品时间到!
8220
10
...
腾讯后台开发一面4.26
8162
正在热议
#
牛友的五一计划
#
14300次浏览
313人参与
#
如何看待offer收割机的行为
#
193559次浏览
2978人参与
#
牛客帮帮团来啦!有问必答
#
395223次浏览
7789人参与
#
晒一晒我的offer
#
2820200次浏览
49882人参与
#
无实习如何秋招上岸
#
172292次浏览
2713人参与
#
如何一边实习一边秋招
#
200967次浏览
3989人参与
#
春招别灰心,我们一人来一句鼓励
#
21087次浏览
304人参与
#
非技术岗薪资爆料
#
8130次浏览
152人参与
#
硬件人的春招flag
#
14519次浏览
199人参与
#
在国企工作的人,躺平了吗?
#
72652次浏览
878人参与
#
女生做医疗销售有前景吗
#
3843次浏览
48人参与
#
第一次面试
#
16812次浏览
254人参与
#
来聊聊机械薪资天花板是哪家
#
22423次浏览
178人参与
#
机械人,你的秋招第一份简历被谁挂了
#
26929次浏览
491人参与
#
你更愿意参加线上面试还是线下面试?
#
6857次浏览
94人参与
#
华为求职进展汇总
#
441360次浏览
4432人参与
#
机械制造2024笔面经
#
278011次浏览
4661人参与
#
没有实习经历,还有机会进大厂吗
#
257589次浏览
4844人参与
#
通信硬件薪资爆料
#
147685次浏览
1117人参与
#
简历中的项目经历要怎么写
#
380383次浏览
6390人参与
牛客网
牛客企业服务