事务的隔离级别(重点)

作用:为了解决并发访问时产生的问题

 

内存和数据库

 

 

未提交读(Read Uncommitted):

 

并发是最大的,容易造成脏读

小红有200元

小红爸有600元

小红爸给小红打1000元,当小红爸给小红打钱,小红卡变成1200元,小红爸还没去扣减,小红查自己卡,发现是1200元,这数据就是脏读,因为小红的爸打钱这事务还没有完成,当扣减小红爸钱发现不够,回滚事务。

解决方案:如果第一个事务提交前,其他事务不可读取其修改过的值

 

提交读(Read Committed):oracle

读事务不影响写事务

小红有200元

小红查询银行卡有200元,这时小红爸刷了这张卡50元买烟小红查了明细返回继续看钱,变成了150元,她还在处于这个事务中,却读出了2个值

解决方案:锁住已经查询出来的记录,不让其它事务写操作

 

 

可重复读(Repeated Read):mysql

小红有200元

小李有1000元

小红和小李的数据都在这张表里面,当读小红的200元时,有人操作小李的数据(将其删除),而产生幻读

解决方案:锁住这张表

 

序列化(Serializable):

性能极低,一般不用(一个数据库这张表就为你一个服务了)
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值