MySQL事务隔离级别
事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
读未提交(read-uncommitted) | 是 | 是 | 是 |
不可重复读(read-committed) | 否 | 是 | 是 |
可重复读(repeatable-read) | 否 | 否 | 是 |
串行化(serializable) | 否 | 否 | 否 |
一 示例:不可重复读(read-committed)
![](https://i-blog.csdnimg.cn/blog_migrate/0d2202241b5545786526226db9a9c241.png)
二 示例:读未提交(read-uncommitted)
![](https://i-blog.csdnimg.cn/blog_migrate/516b23f0b4f2aedd9d3b5cde1001fbbc.png)
三 示例:可重复读(repeatable-read)
![](https://i-blog.csdnimg.cn/blog_migrate/2d16992b0b02c2dbb0ef045311943347.png)
四 示例:串行化(serializable)(表操作只能串行,影响性能)
(同表同行数据 锁定)
![](https://i-blog.csdnimg.cn/blog_migrate/e78cb8ca1d8b927a878da8d5df108ddf.png)
(同表不同行数据 也是能读不能修改)
![](https://i-blog.csdnimg.cn/blog_migrate/22d3fd223b85dee7d65eec637c101417.png)
五 示例:更新操作锁定行记录
(同一行数据操作)
![](https://i-blog.csdnimg.cn/blog_migrate/aa9a7771236c2db65f44cf76e5353caf.png)
(两行数据操作)
![](https://i-blog.csdnimg.cn/blog_migrate/574cee316ec8597de9fb34cd8f41980c.png)
六、spring的事务隔离级别Isolation.SERIALIZABLE
![](https://i-blog.csdnimg.cn/blog_migrate/05d5eae2829164e36af6328cf9ae8491.png)
事务启用SERIALIZABLE级别后,其他session对事务锁定的表 的增删改操作都不能做。