【Mysql】--事务隔离级别

mysql–事务并发

1.事务并发带来的问题:

  • 脏读:读了未提交的事务修改的内容
  • 不可重复度 (事务内第一次读和第二次读内容不一致,有另外一个事务对数据做了修改:update或delete)
  • 幻读 (事务第二次读的时候多出来一条数据:另外一个事务中间插入了一条数据提交了: 在选定范围内一般是插入了一条数据)

image.png

2.innodb引擎对隔离级别的支持:

默认是:可重复读
结论是:隔离级别越高,安全性越高,效率越低
image.png
3. 一个示例
在这里插入图片描述

  • 若隔离级别是“读未提交”, 则V1的值就是2。 这时候事务B虽然还没有提交, 但是结果已经被A看到了。 因此, V2、 V3也都是2。
  • 若隔离级别是“读提交”, 则V1是1, V2的值是2。 事务B的更新在提交后才能被A看到。 所以, V3的值也是2。
  • 若隔离级别是“可重复读”, 则V1、 V2是1, V3是2。 之所以V2还是1, 遵循的就是这个要求: 事务在执⾏期间看到的数据前后必须是⼀致的。
  • 若隔离级别是“串⾏化”, 则在事务B执⾏“将1改成2”的时候, 会被锁住。 直到事务A提交后, 事务B才可以继续执⾏。 所以从A的⻆度看, V1、 V2值是1, V3的值是2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值