当前位置:   article > 正文

MySQL之事务

MySQL之事务

并发事务问题

在多个事务并发运行时,会遇到操作相同的数据来完成各自任务,可能会存在以下问题:

脏数据(Dirty READ)

当一个事物正在访问数据并且对数据进行修改,而这个操作还没有提交到数据库中,这使另外一个事务也访问了这个数据,然后使用了该数据,因为数据还没有提交到数据库,那么另一个事务读到的这个数据就是脏数据,依据脏数据的所有操作是不正确的。
示例:
在这里插入图片描述
总结:A事务读取到B事务尚未提交的更改数据,并在这个脏数据的基础上进行操作,如果B事务进行回滚,A事务读取到的事务是不被承认的。

不可重复读(UnrepeatableRead)

A事务内多次读取同一个数据,在这个事务还没结束时,B事务也访问该数据,A事务在两次读数据之间,B事务修改了该数据,A事务再次读取数据可能可第一次读取的不太一样。一个事务内两次读取的数据是不一样的,因此称为不可重复读。
在这里插入图片描述
总结:一个事务内两次读取的同一个数据是结果不一样的。不可重复读是指A事务读取到了B事务已经提交的更改数据。

幻读(phantom Read)

A事务读取几行数据,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/766656
推荐阅读
相关标签
  

闽ICP备14008679号