首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Lyh0
2019-08-22 15:53
已编辑
厦门大学 Java
关注
已关注
取消关注
MVCC解决幻读
请求各位大佬,MVCC为什么不能避免幻读呢?根据版本号,每次SELECT出来的数据的创建版本号不是都小于当前事务版本号,那怎么还有幻读呢?
#笔试题目#
提示
全部评论
推荐
最新
楼层
球球Offer了
西安电子科技大学 Java
你得看看快照读和当前读
7
回复
分享
发布于 2019-08-22 15:54
高木同学
阿里巴巴_供应链平台事业部_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
C.A.Y.P
五邑大学 Java
mvcc是快照读,本身就解决了幻读,当前读的情况下,用间隙锁解决了幻读
点赞
回复
分享
发布于 2019-08-22 16:23
快手无敌内推
快手_高级Java开发工程师
RR级别下每个事务会创建一个快照,RR级别默认第一条SQL才创建快照,依据快照中记录的事务的高水位和低水位判断数据是否可见,低于低水位的必然可见,高于高水位的不可见,如果介于两者之间,也处于活动中的事务id的数据不可见,由此解决的,
2
回复
分享
发布于 2019-08-22 16:03
crud_boy_arthur
阿里巴巴_数字供应链_开发工程师
select是非锁定读,本来就不会幻读,update这种锁定读才会出现幻读,需要使用间隙锁避免幻读
点赞
回复
分享
发布于 2019-08-22 15:59
快手无敌内推
快手_高级Java开发工程师
谁跟你说的每次查出来的数据的版本号都小于当时事务编号的??
点赞
回复
分享
发布于 2019-08-22 15:59
我是一只快乐的小菜鸡
字节跳动_android开发
mvcc解决的是可重复读问题,next Key lock解决幻读问题
点赞
回复
分享
发布于 2019-08-22 15:55
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向数据库插入数据,这样就避免幻读了
4
回复
分享
发布于 2019-08-22 16:31
皮卡丘啦啦啦
微软_软件工程师
mvcc可以解决幻读,因为读取的是一个历史的快照。如果对数据实时性要求高的话,不推荐。
点赞
回复
分享
发布于 2019-08-22 20:31
白夜之星
门头沟学院 Java
可以避免。分快照读,当前读
点赞
回复
分享
发布于 2019-08-22 19:27
池里游啊游
北京青年政治学院 Java
因为mvcc里面的update是当前读?求大佬解释
点赞
回复
分享
发布于 2019-08-22 16:18
等offer的小男孩
家里蹲
能避免幻读吧,或者可重复读+间隙锁
点赞
回复
分享
发布于 2019-08-22 15:56
offer来我怀里
河海大学 Java
可重复读级别下通过间隙锁,应该是能解决幻读的问题
点赞
回复
分享
发布于 2019-08-22 15:54
你好像一个人
华中科技大学 前端工程师
不是默认开启了next keylock 已经避免幻读了吗
点赞
回复
分享
发布于 2019-08-22 15:52
ChessC
浙江大学 Java
不能避免幻读??
点赞
回复
分享
发布于 2019-08-22 15:51
kafkal
杭州电子科技大学
幻读是会发现多了数据或者少了数据吧
点赞
回复
分享
发布于 2019-08-22 15:49
暂无评论,快来抢首评~
相关推荐
04-27 23:00
已编辑
美团_后端开发(实习员工)
跨考转码上岸大厂|超详细Java学习路线分享
转码的路上看过很多朋友分享的经验贴,今天就毫无保留地给大家分享一下我个人的学习历程以及踩过的那些坑🕳,真心希望能助力大家快速上手 Java,为找实习或校招做好充分准备💪。同我在《尝试教大家背八股》里阐述的背八股思路一样,要针对项目中的技术点收集相关八股知识📖。要是想找 Java 后端开发的工作,直接去大厂相关岗位的 JD(职位描述)查看信息就好,从中能提取出关键技术栈:语言部分 :Java 基础、Java 虚拟机、Java 多线程编程开发框架 :Spring、SpringBoot、MyBatis后端组件 :数据库(如 MySQL)、缓存中间件(如 Redis)、消息队列基础知识 :数据结...
最权威的面试真题&...
牛客创作赏金赛
点赞
评论
收藏
分享
04-13 17:47
西北大学 Java
4.9 腾讯云智一面(前端开发)
1. 线程和进程之间的关系2. 有没有听过go里面的协程3. 了解存储过程吗(比如我想进行一次发布,但是发布的过程中DB结构被修改了,需要进行一次存储过程)4. 项目中有些数据在缓存,有些数据在DB中,读取数据时怎么样判断这个数据是从缓存读还是从DB读(判断依据是什么)5. 简单说下jwt是用来干啥的6. 说下websocket和http的区别,尤其是websocket的优势7. 说下http1.0和2.08. https是哪部分进行对称加密,哪部分进行对称加密9. 发布订阅模式需要哪几个核心方法10. 责任链模式了解吗11. 责任链模式的典型应用场景,尤其是非web的后台模式中(中间件)12. 责任链模式的弊端13. 简单说下项目是怎么提高秒杀模块的吞吐的14. 说下事务的实现原理(MySQL)15. 项目已经上线的情况下,DB的字段类型出现错误,能不能使用事务来解决,怎么解决16. 简单说下springMVC,好处是什么
腾讯云智研发一面200人在聊
点赞
评论
收藏
分享
04-02 11:07
门头沟学院 Java
科大讯飞一面
自我介绍两个场景题:1. 怎么统计在线人数2. 给一个微服务设计日志记录功能一些八股:1. 线程池2. spring aop3. springboot启动过程4. 父子线程数据传递
科大讯飞一面301人在聊
查看7道真题和解析
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
04-02 21:30
美团复活赛实习一面面经
部门:核心本地商业-业务研发平台我的项目:一个rpc框架,一个包装过的黑马点评时长:45分钟自我介绍介绍一下你的这个rpc框架对nacos有了解吗nacos的心跳检测是什么基于协议黑马点评里面你是怎么使用Redis的Redis的缓存击穿问题threadlocal你是怎么使用的 最常用里面的什么方法?equals和==的区别http和https的区别https是怎么实现加密通信的MySQL里面的事务特性mvcc了解吗算法链表是否有环判断(有一个小bug没发现,结果面试官直接给我指出来了😭)
查看13道真题和解析
点赞
评论
收藏
分享
04-10 23:44
已编辑
门头沟学院 Java
春招-深信服一面(4.1)
刚实习完没复习,直接被暴打📍面试公司:深信服📖面试问题:1.自我介绍2.问自我介绍提到的项目3.介绍SpringCloud组件4.Nacos用来做了什么,怎么做服务发现和服务调度,原理是什么 Nacos怎么根据相应配置找到对应的服务的 怎么根据应用名解析到不同ip的服务器下面的服务上(A服务怎么基于Nacos访问B服务) Nacos底层的数据表5.Rabbitmq用来解决什么 解耦体现在哪方面 获取投递信息的策略有哪些6.SpringBoot 单例模式 懒汉和饿汉的区别 在需要的时候创建和类加载的时候创建有什么区别 懒汉创建大概率线程不安全,需要有个锁来保证唯一单例7.SpringBean的生命周期 .factories文件里的类通过什么加载 .factories文件里的有的通过别名配置,有的是全路径形式配置,通过什么加载(事件监听器)8.项目中的流量预测试怎么实现的 预测结果怎么判断实际流量和预测流量差值,提高准确率 偏差多少可以接受9.Docker反问进去做什么业务:这次是基础能力沟通,渠道和ai的开发流量算法、DP-R1模型,和简历技术栈比较重合面试官人很好,有没了解过的会给我解答一下,是我太菜了,底层原理看的很少
查看20道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
35
分享
评论
提到的真题
返回内容
招聘动态
查看更多
26届投递链接合集
快手
25届补录+26届实习
26届实习内推合集
华泰Fintech星战营
全站热榜
更多
1
...
本科四年,我决定在即将毕业时转行
1.1W
2
...
极限春招小结
9322
字节暑期补捞
热聊中
3
...
这次是真的告别了!
9211
4
...
从后端的角度聊一聊:2728届想要搞开发的同学现在最应该干什么?
8405
5
...
上午拍毕业照,下午拍结婚照!牛友祝福我们吧!
8405
6
...
找工作找到厌倦了,晒一下毕业照吧!
6991
7
...
第一次给了美团
6387
8
...
26届找不到暑期实习也不必太焦虑!!!!
5698
9
...
极限春招一个月总结
5623
10
...
以为走散了,命运却又把我们安排到一起
4460
创作者周榜
更多
正在热议
更多
#
写给毕业5年后的自己
#
3939次浏览
65人参与
#
好好告别我的学生时代
#
40937次浏览
800人参与
#
华泰证券Fintech星战营
#
168126次浏览
191人参与
#
职场捅娄子大赛
#
317506次浏览
3250人参与
#
晒一下我的毕业照
#
31031次浏览
331人参与
#
华为求职进展汇总
#
4643008次浏览
28244人参与
#
如何缓解求职过程中的焦虑?
#
7174次浏览
94人参与
#
海信求职进展汇总
#
64840次浏览
357人参与
#
如果今天是你的last day,你会怎么度过?
#
22607次浏览
197人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
108205次浏览
781人参与
#
毕业季等于分手季吗
#
12383次浏览
126人参与
#
晒晒我司的端午福利
#
14815次浏览
99人参与
#
HR问:你期望的薪资是多少?如何回答
#
39935次浏览
524人参与
#
记录实习开销
#
24596次浏览
180人参与
#
我想象的实习vs现实的实习
#
280222次浏览
2214人参与
#
上班苦还是上学苦呢?
#
222687次浏览
1329人参与
#
视觉/交互/设计百问百答
#
43162次浏览
427人参与
#
如果中了500万,你会离职吗?
#
81943次浏览
649人参与
#
参加完秋招的机械人,还参加春招吗?
#
47776次浏览
544人参与
#
实习/项目/竞赛奖项,哪个对找工作更重要?
#
82778次浏览
1108人参与
#
工作两年想退休了
#
119832次浏览
1118人参与
牛客网
牛客企业服务