美文网首页
事务的并发问题

事务的并发问题

作者: 寂静的春天1988 | 来源:发表于2020-11-08 17:42 被阅读0次

事务并发可能会引起以下几种问题
1、脏读
事务B读到了事务A未提交的事务。

2、幻读


幻读.png

新增一个用户也会发生幻读,同理。

3、不可重复读


不可重复读.png

和幻读类似,不过是对不可重复读是对数据的更新,而幻读是对数据的新增或者删除。

4、第一类丢失更新(回滚丢失)


回滚丢失.png

事务A的回滚覆盖了事务B的修改操作,造成了数据异常。

5、第二类丢失更新(提交丢失)


提交丢失.png

事务A的提交覆盖了事务B的修改操作,造成了数据异常。和回滚丢失很类似,不过是事务提交覆盖了数据。

为了解决事务的并发问题,mysql提供了四种隔离级别。


隔离级别.png

Repeatable Read(可重读):这是MySQL的默认事务隔离级别,mysql自身解决了幻读和第一类丢失更新的问题。所以mysql只存在提交丢失。

怎么解决提交丢失问题?
1、悲观锁:select ... for update

2、乐观锁:使用版本号机制。

存留的疑问:mysql怎样解决的幻读和第一类丢失更新的问题?

相关文章

  • Maridb中的事务

    今天对mariadb事务并发的五类问题,进行了测试,结果得到以下的结论 事务并发5类问题(如果数据库没有做任何并发...

  • Hibernate之事务管理

    一、事务并发问题 数据库没有做任何并发处理的情况下有5类事务并发问题 A:第一类丢失更新:两个事务更新相同数据,如...

  • 2019-01-18

    1.MySQL事务隔离级别:事务隔离级别,解决什么并发问题,以及存在什么并发问题 (1)READ_UNCOMMIT...

  • 数据库事务--事务隔离级别

    数据库里关于事务的并发问题,也叫做竞态条件(race condition)。它是描述并发事务中,一个事务需要读取另...

  • 事务的隔离、传播、回滚

    springboot之事务的隔离与传播 事务的隔离 多个事务是并发的访问数据库,并发是必须的但会带来几个问题: 脏...

  • Mysql神乎乎的MVCC到底该怎么理解

    引言 MVCC即多版本并发控制主要是为了解决数据库中并发事务读写的一致性问题,那么多个事务并发执行的时候事务的隔离...

  • mysql事务隔离机制及其隔离级别、实现原理分析

    目录 事务特性ACID属性 并发事务带来的问题 事务隔离级别 事务实现原理 事务特性ACID属性 事务特性指的就是...

  • 第六章 锁(下)

    6.5 锁问题通过锁机制可以实现事务隔离性要求,使得事务可以并发地工作。锁提高了并发,但是却会带来潜在的问题。不过...

  • mysql事务隔离机制及其原理

    目录 事务特性ACID属性 并发事务带来的问题 事务隔离级别 事务实现原理 闲聊 【迈莫coding】 事务特性A...

  • MySQL Innodb 事务隔离级别

    Reference 事务并发的可能问题与其解决方案脏读、幻读、不可重复读和丢失更新数据库并发事务存在的问题(脏读、...

网友评论

      本文标题:事务的并发问题

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