我是靠谱客的博主 粗暴蜜粉,最近开发中收集的这篇文章主要介绍MYSQL事务并发处理的问题:脏读、不可重复读、幻读一:脏读:二:不可重复读:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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,为什么没了呢?因为

最后

以上就是粗暴蜜粉为你收集整理的MYSQL事务并发处理的问题:脏读、不可重复读、幻读一:脏读:二:不可重复读:的全部内容,希望文章能够帮你解决MYSQL事务并发处理的问题:脏读、不可重复读、幻读一:脏读:二:不可重复读:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部