暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mysql事务的隔离机制(二)

氷泠之路 2021-05-11
120

上一篇文章作者介绍了ACID与Mysql的锁,下面来看看脏读,幻读,不可重复读与两类丢失更新.

一 脏读

脏读是指一个事务读取到了另一事务未提交的数据,造成select前后数据不一致.
比如事务A修改了一些数据,但没有提交,此时事务B却读取了,这时事务B就形成了脏读,一般事务A的后续操作是回滚,事务B读取到了临时数值.


二 幻读

幻读是指并不是指同一个事务执行两次相同的select语句得到的结果不同, 而是指select时不存在某记录,但准备插入时发现此记录已存在,无法插入,这就产生了幻读.


三 不可重复读

不可重复读指一个事务读取到了另一事务已提交的数据,造成select前后数据不一致. 
比如事务A修改了一些数据并且提交了,此时事务B却读取了,这时事务B就形成了不可重复读.

四 第一类丢失更新

第一类丢失更新就是两个事务同时更新一个数据,一个事务更新完毕并提交后,另一个事务回滚,造成提交的更新丢失.

五 第二类丢失更新


第二类丢失更新就是两个事务同时更新一个数据,先更新的事务提交的数据会被后更新的事务提交的数据覆盖,即先更新的事务提交的数据丢失.


文章转载自氷泠之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论