如果不考虑事务隔离性,可能会发生以下情况
脏读:事务a,读到了事务b未提交的数据,如果事务a读到了事务b的一些中间数据,待处理的数据。b事务数据还没有提交,就被a事务访问了
(解决方法:将 读未提交 级别提高到 读已提交 例如:orale在事务a 更新t表的时候,表t为锁住的状态,事务a未提交之前,事务b就不能访问t表)
不可重复读:指的是事务两次读取数据不一样。因为中间被其他事务修改了。解决方法就是 将 级别提高到 可重复。使用行级锁,锁定当前记录,其它事务无法更改。针对update操作
幻读:一个事务在查询,另一个事务在做插入或者删除,此时就会出现幻读。导致表的总行数不一致的情况
事务的干扰级别:读未提交、读已提交、可重复读、串行化。
参考博客:
https://blog.csdn.net/fanzhigang0/article/details/93198059
原文地址:https://www.cnblogs.com/jkwll/p/12149661.html
时间: 2024-10-13 04:53:58