事务

[复制链接]
发表于 2025-3-12 09:56:02 | 显示全部楼层 |阅读模式

1、概念

在关系型数据库中,由一组sql组成一个执行单元,该单元要么整体成功,要么整体失败

2、事务的acid特性

原子性 一致性 隔离性 持久性
原子性

image.png
一致性

image.png
持久性

image.png

隔离性

image.png

如果事务没有进行隔离,会出现3种严重的问题:**
第一个问题 :赃读指一个事务处理的过程中读取了另一个未提交(回滚)的事务的数据。

动作1:A给B转100元
动作2:B提交了事务,余额多加了100元,但是呢A没提交事务4个
动作3:当B提交了,A没提交,这个时候C来读B的余额,C读到了已经加100元的余额。
动作4:如果出现了网络问题,A回滚,就会导致B也跟着回滚,没问题来了?C读到的数据就是脏数据,
简称为赃读

如何解决赃读?

1.如果AB 这2个动作是操作同一个数据库,那么可以把AB的动作放在同一个事务里面,C就不会出现赃读。
2.如果不是同一个数据库,而是AB不同数据库,或微服务操作,那就只能采用分布式事务来解决。

image.png

脏读和不可重复读有什么区别?

image.png

幻读

image.png

幻读和不可重复读有什么区别

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

GMT+8, 2025-4-20 17:35 , Processed in 0.067584 second(s), 36 queries Archiver|手机版|小黑屋|Attic ( 京ICP备2020048627号 )

快速回复 返回顶部 返回列表