首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-29 19:52
沈阳理工大学 电子信息类
5月就剩国企实习了
近期国企实习大开,在急招,都是学历厂,友友们的实习机会终于来了
点赞
评论
收藏
转发
人才库中当人才
04-28 16:02
门头沟学院 计算机类
拒绝白嫖!避雷,**白嫖党-blw
BOSS上广州本地保某威,hr是大数据工程师。真的很啥比!抽象艺术派大师加了微信,进行视频,给布置任务(还没面试,给布置任务作业)。问到啥时候二面,给爷来了句:这次也不算面试,咱的面试可以变通,先把任务完成后再聊聊。任务是设计一个定时程序访问第三方接口的大致思路方案。OK,咱主打大学生清纯信任。任务认认真真的完成了,结果吹毛求疵,面试只字不提。今天想着催问一下关于面试问题,回复:抱歉,浪费你时间了!wtf,给兄弟整吐了纯白嫖,真恶心!正在找实习的兄弟们,一定要擦亮眼睛。摆脱学生思维,拒绝白嫖。
点赞
评论
收藏
转发
给个offer吧______
03-11 20:03
天津城建大学 计算机类
在群里看到的
点赞
评论
收藏
转发
匿名牛油
不愿透露姓名的神秘牛友
04-30 18:23
阿里国际一面面经
吹爆阿里国际面试官,比某些自以为是的面试官好太多了,面试还不开摄像头。写题的时候,我问他要开摄像头吗?面试官说:不开吧,你开了,我不开,岂不是不大好?面试时长90min八股 30min:https如何保证消息可靠的https在哪些情况,也存在着泄露的风险呢?tcp如何保证消息可靠的,从多个方面来答为啥要三次握手半连接队列和全连接队列知道吗?怎么调整。双亲委派机制知道吗?有哪些常用的容器以及组件打破了双亲委派机制?GC Root对象有哪些?简要说明。内存泄露如何排查?jvm垃圾回收机制知道吗?Netty的垃圾内存回收知道吗?深入说一下。Netty基于NIO,为啥他是异步非阻塞,而不是同步非阻塞。...
阿里巴巴一面156人在聊
点赞
评论
收藏
转发
1
32
评论
分享
回复帖子
招聘动态
查看更多
滴滴
2025届秋招储备实习生招聘
全站热榜
1
...
毕业
7572
2
...
【薪资计算】SS Is All You Need
5982
3
...
【奖💰】通信硬件薪资爆料②
5366
4
...
浅谈一下今年暑期实习形势
4750
5
...
学弟们听劝,不要学后端
4436
6
...
计算机就业,别卷绩点,这是最大的信息差
3988
7
...
双非大学四年Apache PPMC 拿过大厂offer考研.
3820
8
...
双非硕士的出路
3373
9
...
阿里饿了么意向
3355
10
...
22届211工科考浙大失败不知道咋找工作了,有没有佬给点建议
3197
正在热议
#
牛友的五一计划
#
32967次浏览
546人参与
#
2022届毕业生现状
#
291364次浏览
4152人参与
#
牛客帮帮团来啦!有问必答
#
452343次浏览
8332人参与
#
你想对下半年说点什么
#
4932次浏览
125人参与
#
互联网公司评价
#
67312次浏览
944人参与
#
市场营销面经
#
2180次浏览
85人参与
#
实习好累,可以辞职全力准备秋招吗
#
3608次浏览
70人参与
#
许愿池
#
68380次浏览
1493人参与
#
产品实习,你更倾向大公司or小公司
#
32334次浏览
505人参与
#
硬件人的春招flag
#
15153次浏览
208人参与
#
双非本科求职如何逆袭
#
180569次浏览
2682人参与
#
华为开奖那些事
#
650621次浏览
5698人参与
#
没有实习经历,还有机会进大厂吗
#
274621次浏览
5506人参与
#
参加过提前批的机械人,你们还参加秋招么
#
9407次浏览
302人参与
#
我的成功项目解析
#
73619次浏览
2166人参与
#
产品薪资爆料
#
30103次浏览
522人参与
#
担心入职之后被发现很菜怎么办
#
27139次浏览
240人参与
#
校招入职后的感受
#
41070次浏览
697人参与
#
为什么那么多公司毁约
#
34808次浏览
288人参与
#
毕业后不工作的日子里我在做什么
#
43137次浏览
606人参与
牛客网
牛客企业服务