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

本文深入解析数据库事务的原子性、一致性、隔离性和持久性四大特性,探讨事务在并发环境下的挑战,如脏读、不可重复读、幻读及丢失更新等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原子性

事务中的操作要么都发生,要么都不发生。

一致性

一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性

 对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中aaa和bbb的存款总额为2000元。

 

隔离性

这指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据 

 事务之间的相互影响分为几种,分别为:脏读,不可重复读,幻读,丢失更新

首先看看“脏读”,看到“脏”这个字,我就想到了恶心、肮脏。数据怎么可能脏呢?其实也就是我们经常说的“垃圾数据”了。比如说,有两个事务,它们在并发执行(也就是竞争)。看看以下这个表格,您一定会明白我在说什么:

 

1.脏读:事务 A 读取了事务 B 未提交的数据,并在这个基础上又做了其他操作。

  2.不可重复读:事务 A 读取了事务 B 已提交的更改数据。

  3.幻读:事务 A 读取了事务 B 已提交的新增数据。

 

一致性

每一次的操作的结果都是持久的 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值