您当前的位置: 首页 >  sql

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MYSQL事务并发处理的问题:脏读、不可重复读、幻读

知其黑、受其白 发布时间:2021-03-18 15:28:35 ,浏览量:0

MYSQL事务并发处理的问题:

  • 脏读、
  • 不可重复读、
  • 幻读

MYSQL5.5.X的版本默认引擎为:InNODB,在此之前是MyIASM。Innodb支持事务,MyIasm不支持事务。

一:脏读:

事务A修改了某个值,但是未提交,这时候事务A又读取了这个值,事务A可能又把该值撤销(回滚),这时候的数据可能就是无用数据。这就叫脏读。这里有些同学可能就要问了,既然事务A没提交,事务B是怎么读取到的?如果MYSQL隔离级别设置ReadUnCommitted,这时候其他事务就可以读取到未提交的事务。(重点在于未提交)

二:不可重复读:

事务A读取某个数据后,再次读取发现数据已经改变,两次或者多次读取同一数据数据不一致。(重点在于修改,数据本身对比)

场景1:

在同一个事务中,A查看自己工资有1000元,准备取出来,这个过程没有结束;此时财务人员在更新工资,把工资更新为2000,当A在取的时候,发现多了1000块,这个过程在这里看起来没啥问题,这就是不可重复读,下面看另外一个场景。

场景2:

A今天查看自己卡了有1000,于是打算消费,此时A的老婆B正在网上转账,当A消费的那一刻,发现卡里钱不够了,明明刚才还有1000,为什么没了呢?因为

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0395s