zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【mysql我能讲两小时027】什么是脏读?数据库如何避免脏读?

mysql数据库 如何 什么 避免 小时 我能 脏读
2023-09-27 14:29:25 时间

什么是脏读?数据库如何避免脏读?

脏读指的就是在不同的事务下, 当前事务可以读到另外事务未提交的数据, 简单来说就是可以读到脏 数据。

image-20220412103415723

事务的隔离级别进行了更换,由默认的REPEATABLE READ换成了READ UNCOMMITTED。因此在会话A中,在事务并没有提交的前提下, 会话B中的两次SELECT操作取得了不同的结果,并且2这条记录是在会话A中并未提交的数据, 即产生了脏读,违反了事务的隔离性。脏读现象在生产环境中并不常发生, 从上面的例子中就可以发现, 脏读发生的条件是需要事务的隔离级别为READUNCOMMITTED, 而目前绝大部分的数据库都至少设置成READ COMMITTED。