关于数据库里可重复读和幻读的问题。
有看到可重复读没有完全解决幻读,搜了一下没有找到一个合适的例子,现在有两种解释。
1.A 事务开始Select查询到一条数据,B 事务开始Insert一条数据,此时A事务进行了Update更新事务,A再次Select查询出现两条数据,出现幻读。(InnoDB存储引擎说可重复读解决幻读,这算是解决吗?)
2.A 事务开始Select查询到一条数据,B 事务开始Insert一条数据,此时A事务进行了Select还是一条数据,开一个C事务同样Select查询出现两条数据,出现幻读。(我感觉这个解释应该有问题吧)#数据库#
有看到可重复读没有完全解决幻读,搜了一下没有找到一个合适的例子,现在有两种解释。
1.A 事务开始Select查询到一条数据,B 事务开始Insert一条数据,此时A事务进行了Update更新事务,A再次Select查询出现两条数据,出现幻读。(InnoDB存储引擎说可重复读解决幻读,这算是解决吗?)
2.A 事务开始Select查询到一条数据,B 事务开始Insert一条数据,此时A事务进行了Select还是一条数据,开一个C事务同样Select查询出现两条数据,出现幻读。(我感觉这个解释应该有问题吧)#数据库#
全部评论
我好像理解了,是第一种,幻读需要在同一个事务中,所以开一个C事务是错误的。同时,关于InnoDB存储引擎里可重复读隔离解决幻读,A 事务开始Select查询到一条数据,B 事务开始Insert一条数据,此时A事务进行了Update更新事务,会将B事务里的版本修改(此时B事务是已经结束的),所以此时A事务Select出现幻读。但是举例是A 事务开始Select查询到一条数据,A事务进行了Update更新事务,B 事务开始Insert一条数据,此时B事务将会等待,原因是数据行附近被锁住了,A再次Select查询出现一条数据,A事务结束,B事务开始Insert。查询出现两条数据。
相关推荐
点赞 评论 收藏
分享
03-19 17:53
武汉大学 算法工程师
暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看24道真题和解析 点赞 评论 收藏
分享
