300 字
2 分钟
MySQL事务隔离级别
1 读未提交(脏读,不可重复读,幻读 问题)
最低的事务隔离级别,在这个事务隔离级别下,一个事务能看到另外一个事务未提交的数据修改,会导致 脏读 的问题(读取到其他事务未提交的数据)
2 读已提交(不可重复读,幻读)
这个事务隔离级别虽然解决了脏读问题,也就是只能读取到另外一个事务已经提交的数据,读取不到另外一个事务没有提交的数据,但是它有不可重复读的问题(同一个事务中,相同的查询会返回不同的结果)
3 可重复读(幻读) MySQL 默认事务隔离级别
这个事务隔离级别,使用 MVCC(快照读)的方式,解决了不可重复读的问题,但是还是有幻读的问题(幻读也就是在一个事务中,读取到另外一个事务插入的行,导致这个事务查询到的结果集行数不同)
4 串行化
最高的事务隔离级别,使用排他锁(Exclusive Lock)来保证事务的完全隔离。