图文学习MySQL的事务并发问题

  大家对于MySQL的ACID估计都是耳熟能详了吧,在这笔者还是稍微解释一下吧!

       ACID指的就是事务的四个特性,分别如下:

  • 原子性(Atomicity) :说白点就是一个动作还没完成是不能够被打断的。

  • 一致性(Consistent) :指的是事务开始到结束,这期间所访问的数据必须保持一致。

  • 隔离性(Isolation) :比如事务A正在操作,这时候事务B也要操作这行数据,那么事务B必须等到事务A结束之后才可以进行相关操作。

  • 持久性(Durable) :指的是事务结束之后对于数据的修改是永久的,也就是数据库里面的数据也修改了。

       既然事务的特性都比较特殊,那么在并发的条件下,就有可能发生各种问题,也就是平常大家所说的脏读、脏写、不可重复读以及幻读。接下来,笔者就用画图的形式来描述一下这四种问题的具体特点:

  • 脏写:此时数据库的值为”数据0“,事务一、事务二和事务三同时对数据进行修改,并且修改成功了,但是只有一个事务能够得到自己修改的数据,其余的被覆盖更新了,这就是脏写。

  • 脏读:此时数据库的值为”数据0“,事务二开始事务想要修改为”数据2“,但是还没提

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值