码迷,mamicode.com
首页 > 数据库 > 详细

数据库并发事务存在的三个问题(脏读、不可重复读、幻读)

时间:2020-01-04 18:13:18      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:问题   记录   art   事务隔离性   解决   没有   date   strong   sdn   

如果不考虑事务隔离性,可能会发生以下情况

脏读:事务a,读到了事务b未提交的数据,如果事务a读到了事务b的一些中间数据,待处理的数据。b事务数据还没有提交,就被a事务访问了

(解决方法:将 读未提交 级别提高到 读已提交 例如:orale在事务a 更新t表的时候,表t为锁住的状态,事务a未提交之前,事务b就不能访问t表)

不可重复读:指的是事务两次读取数据不一样。因为中间被其他事务修改了。解决方法就是 将 级别提高到 可重复。使用行级锁,锁定当前记录,其它事务无法更改。针对update操作

幻读:一个事务在查询,另一个事务在做插入或者删除,此时就会出现幻读。导致表的总行数不一致的情况

 

事务的干扰级别:读未提交、读已提交、可重复读、串行化。

 

参考博客:

https://blog.csdn.net/fanzhigang0/article/details/93198059

数据库并发事务存在的三个问题(脏读、不可重复读、幻读)

标签:问题   记录   art   事务隔离性   解决   没有   date   strong   sdn   

原文地址:https://www.cnblogs.com/jkwll/p/12149661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!