数据库中的脏读、幻读、不可重复读

专题文章 云天 8个月前 (09-15) 526次浏览 0个评论

数据库中的脏读、幻读、不可重复读是什么?

数据库在运行过程中会出现一些问题,脏读、幻读、不可重复读是经典的几种情况。他们的概念如下:

  1. 脏读(针对未提交的数据):脏读是指一个事务读取到了另外一个事务未提交的数据。
  2. 不可重复读(针对数据的内容):不可重复读是指同一事务对于同一条数据前后读取不一致,例如,事务A开始执行,获取到数据值为100,在此期间事务B修改了数据值为80,在事务A再次获取该数据时,获取到的数据变成了80,称为不可重复读。
  3. 幻读(针对数据数量):幻读是一个事务读取到的数据量前后发生变化,例如,事务A开始执行,获取到数据量为20条,在此期间事务B执行,删除了4条数据,此时事务A再次读取,获取到16条数据,事务A前后获取到的数据量不相同,就是幻读。

数据库中的脏读、幻读和不可重复读问题,可以通过设置不同的隔离级别来解决。有关Mysql隔离级别内容见:[Mysql隔离级别]()

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址