MySQL高级之锁模块与事务并发访问产生的问题以及事务隔离机制

MySQL高级之锁模块与事务并发访问产生的问题以及事务隔离机制

事务并发引起的问题与避免

1、更新丢失——mysql所有事务隔离级别在数据库层面上均可避免

 取款事务失败,将记录回滚至100,存款事务更新丢失!

2、脏读———READ-COMMITTED事务隔离级别以上可避免  <===> RC隔离级别以上

READ_UNCOMMIT:并发时,A事务读到了B事务未提交的数据,B回滚,A读到的数据无效!

若A对数据进行update操作,这时候的数据是多么的浮夸...

A 1000-100===>900 B读到A尚未提交事务的数据900,A回滚,B在900的基础上操作,比如+200,更新为1100!

3、不可重复读

不可重复读———REPEATABLE-READ事务隔离级别以上可避免  <===> RR隔离级别以上解决
A事务在当前事务中多次读取数据,数据不一致!恰好其他事务改动A读的纪录,A因为总是读已经提交的数据,会读到不同的数据。

4、幻读

幻读———SERIALIZABLE事务隔离级别可避免  <===> Serilizable隔离级别以上解决 

事务A读到事务的新增或者删除的数据!

 innodb采取了巧妙的方式避免了幻读!行锁加上间隙锁方案

innodb避免了幻读的原理icon-default.png?t=L9C2https://blog.csdn.net/Be_insighted/article/details/120875537?spm=1001.2014.3001.5502

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值