MySQL事务隔离级别测试实例
MySQL事务隔离级别
事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
读未提交(read-uncommitted) | 是 | 是 | 是 |
不可重复读(read-committed) | 否 | 是 | 是 |
可重复读(repeatable-read) | 否 | 否 | 是 |
串行化(serializable) | 否 | 否 | 否 |
一 示例:不可重复读(read-committed)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204549016-1942678284.png)
二 示例:读未提交(read-uncommitted)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204619469-1091819683.png)
三 示例:可重复读(repeatable-read)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204657917-94679472.png)
四 示例:串行化(serializable)(表操作只能串行,影响性能)
(同表同行数据 锁定)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204734152-686676134.png)
(同表不同行数据 也是能读不能修改)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204749752-439931729.png)
五 示例:更新操作锁定行记录
(同一行数据操作)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204810360-808395464.png)
(两行数据操作)
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204828081-2054662416.png)
六、spring的事务隔离级别Isolation.SERIALIZABLE
![](https://images2018.cnblogs.com/blog/465907/201808/465907-20180807204930551-891334881.png)
事务启用SERIALIZABLE级别后,其他session对事务锁定的表 的增删改操作都不能做。
每天都是崭新的开始 ——Mr.司满(214382122)[]~( ̄▽ ̄)~*