美文网首页
快速理解脏读、不可重复读、幻读

快速理解脏读、不可重复读、幻读

作者: 后山野鹤 | 来源:发表于2019-06-14 16:57 被阅读0次

1、脏读 是指A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚,那么A事务读取到的数据就是脏数据,一般发生在并发或多用户操作同一数据库信息时产生的。

脏读举例说明:
 现有A、B两位同学,A同学账户有2000元,  两位同学同时操作A账户
1560499745(1).png

2、不可重复读 是指A事务读取了B事务已经提交的更改数据,假如A在取款过程中,B往该账户转账100,A再次读取的余额发生不一致,

3、幻读是指A事务读取了B事务的新增或删除数据,导致A事务在B事务新增数据前和 新增数据后的两次读取记录数不一致

解惑:
不可重复读和幻读的区别是:不可重复读是指读取了已经提交的事务的修改数据,幻读是指读到了其他事务已经提交的新增和删除数据,对于这两种问题的解决采用不同的方法,防止督导更改数据,只需对操作的数据添加行级锁,防止操作中数据的变化;而防止幻读到新增或删除数据,往往需要添加表级锁,将整张表锁定,防止新增和删除数据。

事务隔离级别
直接使用锁机制管理是很复杂的,基于锁机制,数据库为用户提供了事务隔离级别只要设置了事务隔离级别,数据库会分析事务的sql语句自动选择合适的锁

事务隔离级别 对应的解决问题,但不同的事务隔离级别的执行效率是不一样的,选择合适自己的就好

image.png

相关文章

  • 数据库事务隔离级别

    脏读 不可重复读 幻读

  • 理解事务的隔离特性

    理解事务的隔离特性 脏读、不可重复读、幻读 脏读:读到别的事务还未提交的修改 不可重复读:读到别的事务已提交的修改...

  • spring事务传播机制

    理解spring事务,就要理解数据库ACID的Isolation,隔离性。 脏读、不可重复读、幻读 这几种场景都是...

  • mySQL--深入理解事务隔离级别

    深入理解数据库事务隔离 脏读、幻读、不可重复读实战演练 一、事务的基本要...

  • 数据库事务隔离级别

    数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)

  • mysql知识点

    mysql概览 一些基本问题 事务 事务相关基本问题 脏读 丢失修改 不可重复读 幻读 不可重复读 vs 幻读不可...

  • 快速理解脏读、不可重复读、幻读

    1、脏读 是指A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚,那么A事务读取到的数据就是脏数据,...

  • 脏读 不可重复读 幻读

    什么是事务 在了解脏读 不可重复读 幻读之前,有必要先理解事务(transaction)的定义及其目的。 定义 数...

  • 事务隔离级别

    Mysql锁(七)丢失更新,脏读,不可重复读,幻读 ****这些问题的出现的原因**** 之所以出现更新丢失,脏读...

  • SQL事务隔离级别和MySQL事务隔离级别

    RU 隔离级别:Read Uncommitted 读未提交不允许脏写,会发生脏读,不可重复读,幻读。 RC 隔离级...

网友评论

      本文标题:快速理解脏读、不可重复读、幻读

      本文链接:https://www.haomeiwen.com/subject/swlpfctx.html