美文网首页
事务隔离性和产生的数据问题笔记

事务隔离性和产生的数据问题笔记

作者: 天之見證 | 来源:发表于2020-07-07 09:28 被阅读0次

事务隔离性和产生的数据问题笔记

事务之间由于隔离性的原因,会造成,也只有3种数据影响

1. 两个事务之间的相互影响

lost_update-dirty_read_ur.PNG

完整版:

lost_update-dirty_read_ur2.PNG

以上2个截图来自 Transaction Processing Concepts and Techniques

2. 3种数据问题及其原因

问题类型 原因 事务隔离级别
更新丢失(Lost Update) T1写的数据被T2覆盖掉了 任何级别都不会出现这种情况,但在实际应用中由于多个事务串联/其他,会导致这种情况
脏读(Dirty Read) T1读到T2未提交的数据 Read-Uncommitted
不可重复读(Unrepeatable Read) T1读到T2提交的数据,但是读了2次发现不同 Read-Committed

3. 总结

以上仅仅只是在2个事务层面去分析造成的数据问题, 但已经是完备的了, 囊括了所有可能出现的情况, 笔者以自己的理解做如下整理:

  1. 要出现上面的问题,必须是有一个写事务
  2. 要出现上面的问题,肯定是数据时间跨度上出现了重叠
  3. 脏读和不可重复读二者在于是否读到的数据是提交的
  4. 就上面3中问题,有2种是以读为重点的

ref:

  1. Transaction Processing Concepts and Techniques
  2. MySQL技术内幕 InnoDB存储引擎 第2版 (6.5 锁问题)

相关文章

  • 事务隔离性和产生的数据问题笔记

    事务隔离性和产生的数据问题笔记 事务之间由于隔离性的原因,会造成,也只有3种数据影响 1. 两个事务之间的相互影响...

  • Spring的事务管理

    1.事务概念 1. 什么是事务 2. 事务特性 原子性 一致性 隔离性 持久性 3. 不考虑隔离性产生读问题 脏读...

  • mysql(InnoDB)事务隔离

    隔离性产生的相关问题 1、丢失更新 多个事务同时修改某行数据,以致于一些事务的修改被丢失 2、脏读 事...

  • MYSQL 事务以及锁(一)

    学习笔记是学习了 极客时间 - 《MySQL实战45讲》整理的笔记。 事务隔离 事务的隔离性 原子性 一致性 隔...

  • Java提升篇-事务隔离级别和传播机制

    问题的提出 为了保证并发操作数据的正确性及一致性,SQL规范于1992年提出了数据库事务隔离级别。 事务隔离级别分...

  • 理解 spring 事务传播行为与数据隔离级别

    事务,是为了保障逻辑处理的原子性、一致性、隔离性、永久性。 通过事务控制,可以避免因为逻辑处理失败而导致产生脏数据...

  • MySQL(3) 事务

    事务的特性(ACID): 原子性、一致性、隔离性、持久性 (具体可参考redis笔记) 事务隔离级别: 读未提交、...

  • 搞懂Redis(四)-Redis事务

    事务本质:一组命令的集合 数据库事务与Redis事务 数据库事务数据库事务通过ACID(原子性.一致性.隔离性.持...

  • 百度外卖PHP面试

    数据库事务的四个特性原子性一致性隔离性持久性 数据库事务的隔离级别事务执行过程中,可能会出现以下几种情况:更新丢失...

  • Akka框架之软件事务内存 (STM)

    软件事务内存:它和数据库中的事务类似,具有隔离性、原子性和一致性。区别点是内存事务不具备持久性,因为内存数据不会保...

网友评论

      本文标题:事务隔离性和产生的数据问题笔记

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