Mysql Innodb事务的隔离级别

隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read 解释
未提交读(Read uncommitted) 可能 可能 可能 事务A运行期间能读到事务B修改且没有提交的数据。
已提交读(Read committed) 不可能 可能 可能 事务A运行期间能读到事务B修改且提交的数据。
可重复读(Repeatable read) 不可能 不可能 可能 通过对数据行加锁的方式,事务A运行期间不能读到事务B修改(包括update,delete)的数据,但是能读取事务增加(insert)的数据,读取增加的数据是幻读。Mysql默认的隔离级别。使用Gap锁,即锁住当前数据的前后两端一定范围的数据,解决幻读问题,行锁和Gap锁共同组成Next-key锁。
可串行化(Serializable ) 不可能 不可能 不可能 事务A运行期间不能读到事务B所做的各种操作(delete、update,insert),这个时候select操作也会加锁
参考: Innodb中的事务隔离级别和锁的关系

猜你喜欢

转载自blog.csdn.net/fengxiaozhuzhu/article/details/80953081