栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql的进阶学习--基础篇--事务的并发问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql的进阶学习--基础篇--事务的并发问题

事务在并发的时候将会出现什么问题:

脏读

一个事务读到另外一个事务还没有提交的数据

说明什么?
说明两个事务都没提交, 读到的数据必然是不准确的, 非持久化的数据.

解决办法:
可以让事务并发
但是其中慢了一点的事务读取数据前, 必须要保证另外的并发的事务提交了,不然就是处于停滞状态.
称之为, 读已提交.(此时发现, 脏读的问题解决了)

不可重复读

一个事务之中, 先后读取同一条记录, 但是两次读取的数据却是不一样的. 称之为不可重复读.

说明什么?
说明事务ABC并发时, 事务A读取的是事务B提交的数据, 但是A依然在运行, 并且A后续操作中, 还有一次读取数据的操作, 但是后面读取的这一次确是C提交的数据. 此时A就很不解, 怎么读到的数据不一致.

解决办法:
不让有处理同一份数据的事务同时处理该数据, 必须要等前一个事务处理了, 才能让下一个事务进行.

幻读

一个事务查询一条记录时, 没有对应的数据, 但是在插入时, 却插入不进去, 发现这个记录存在了.

说明什么?
说明, 当一个事务想要对一个表中插入数据时, 明明原本一开始判断出这个表是没有这行数据的, 但是却被另外一个事务提前插入了, 导致插入失败.

解决办法:
操作同一个表的事务不给并发.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号