mysql事务四种隔离级别

事务的基本要素:原子性,一致性,隔离性,持久性。

事务并发问题:脏读,不可重复读,幻读。

mysql隔离级别:read-uncommitted,read-committed,repeatable-read,serializable;

read-uncommitted:未提交读,事务A可以读取事务B未提交的数据,当事务B回滚,事务A读到的数据就是脏数据,这个现象叫做脏读。

read-committed:提交读,事务A无法读到事务B未提交的数据,当事务B提交后,事务A在事务B提交前后读取到的数据不一致,这个现象叫不可重复读;

repeatable-read:可重复读,解决了脏读和不可重复读,通过MVCC版本控制,快照读,当前读解决了幻读。

serializable:序列化,会锁定整个表,事务A先读取表(加读锁),事务B对表进行更新(加写锁)会等待,等事务A结束才会执行B,如果此时事务A对表进行更新(加写锁),会失败引起死锁。这时,事务B会锁定表(写锁),  

                      事务A无法读取。

猜你喜欢

转载自www.cnblogs.com/laphome/p/10633055.html