ACID特性

ACID是数据库事务的四个核心特性,包括原子性、一致性、隔离性和持久性。原子性确保事务操作要么全部完成,要么全部撤销;一致性保证事务执行前后数据的一致性状态;隔离性涉及读未提交、已提交读、可重复读和串行化四种级别,防止数据不一致;持久性则表示一旦事务提交,其更改将永久保存。理解这些特性对于数据库管理和应用开发至关重要。

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

ACID,事物的四个特征

一、原子性(atomicity)

       一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性。

二、一致性(consistency)

      一个事务在执行之前和执行之后,数据库都必须处于一致性状态,如账户A向账户B汇款,汇款前和汇款后必须符合逻辑。

三、隔离性(isolation)

  1. 读未提交(Read Uncommited),该隔离级别允许脏读取,其隔离级别最低(事物B读取了事物A未提交的数据);
  2. 授权读取也称为已提交读(Read Commited)

    授权读取只允许获取已经提交的数据。比如事务A和事务B同时进行,事务A进行+1操作,此时,事务B无法看到这个数据项在事务A操作过程中的所有中间值,只能看到最终的10。另外,如果说有一个事务C,和事务A进行非常类似的操作,只是事务C是将数据项从10加到20,此时事务B也同样可以读取到20,即授权读取允许不可重复读取。

  3. 可重复读(Repeatable read):存在幻影数据 就是保证在事务处理过程中,多次读取同一个数据时,其值都和事务开始时刻是一致的,因此该事务级别禁止不可重复读取和脏读取,但是有可能出现幻影数据。所谓幻影数据,就是指同样的事务操作,在前后两个时间段内执行对同一个数据项的读取,可能出现不一致的结果。在上面的例子中,可重复读取隔离级别能够保证事务B在第一次事务操作过程中,始终对数据项读取到1,但是在下一次事务操作中,即使事务B(注意,事务名字虽然相同,但是指的是另一个事务操作)采用同样的查询方式,就可能读取到10或20

  4. 串行化(Serializable)

四、持久性(durability)

      一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久保存到数据库中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值