引言
数据库事务中谈的最多的就是事务的隔离级别,事务并发还行中最常见的问题又有脏读、幻读、不可重复读。这篇文章就主要来介绍一下这些问题。
脏读
脏读是指一个事务读取到其他事务没有提交的数据。
不可重复读
不可重复读是指一个事务内多次根据同一查询条件查询出来的同一行记录的值不一致。
幻读
幻读是指一个事务内多次根据同一条件查询出来的记录行数不一致。
隔离级别与脏读、幻读、不可重复读的关系
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
READ UNCOMMITED (读未提交) | 允许 | 允许 | 允许 |
READ COMMITED (读提交) | 不允许 | 允许 | 允许 |
REPEATABLE READ (可重复读) | 不允许 | 不允许 | 允许 |
SERIALIZABLE (串行化) | 不允许 | 不允许 | 不允许 |