数据库 脏读 不可重复读 幻读

场景

有两个事务T1,T2去查数据发生的各种问题。

脏读

T1去查数据,T2在更新数据,但是并未提交。T1读到了T2更新的数据,这时候T2因为某种原因回滚了,T1就读到了脏数据。这个是不能忍的。
脏读实例

不可重复读

T1查数据,T2然后更新了这个数据,之后, T1再次读取同一个字段, 值就不同了。其实这个问题我们能接受,例如我们去某宝买东西,我买的时候价格是199,然后瞬间涨价了,变成了399,我读到的如果是399,那就是不可重复读。
不可重复读图示

幻读

T1查数据,T2突然增加了几行,T1再去查的时候突然增加了几行,像出现幻觉一样,所以叫幻读,这个只能由串行化解决,一致性会很好,但是性能和并发性会极弱。因为T1这个事务在查的时候,不会允许其他事务对表做任何增删改的操作,所有并发的问题都会解决。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值