使用Read Committed级别的隔离机制会出现的问题

使用Read Committed级别的隔离机制会出现的问题:
1. 虚读:
  该问题由一个事务读到另一个事务已提交的新插入数据引起的;导致连续两次从数据库中查询的结果集不一致
2. 不可重复读:
  该问题由一个事务读到另一个事务已经提交的更新数据引起的,导致每一次查询出来的同一条记录都不一样。
3. 第二类丢失数据:
  这是不可重复读的特例,该问题由一个事务覆盖另一个事务已提交的更新数据引起的,导致最后一一个事务对记录所做的更改覆盖其他事物对该记录已提交的更新。
  
对于上面出现的问题,可以使用乐观锁和悲观锁来避免。
–悲观锁:悲观锁假定当多个事务同时访问一个资源时,会出现以上问题。因而为了避免这些问题,每个事务在操作一个资源时,都先把资源锁起来,这样就完全排除了当前事务受其他事务的影响,但是使用悲观锁影响并发性能,所以应该谨慎。
–乐观锁:乐观锁假定多个并发事务访问一个资源时,靠数据库管理系统自身的锁机制就可以有效地避免这些问题。因而它主要依靠数据库的隔离级别来自动管理锁的工作。一旦出现以上问题,乐观锁会使用版本控制的手段来发现这些问题,并抛出异常,从而有效地避免不良后果的发生。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值