跳至主要內容

事务的ACID

Echo Hou...大约 1 分钟数据库重要

事务的ACID

事务有四大特性。一致性是最终达成的目的,原子性、隔离性、持久性是手段。

原子性

一个事务中的所有操作,要么全部发生,要么全部不发生,不会出现只执行一半,而另一半没有执行的情况。

比如经典的转账案例,A向B转账100元,操作1是A的账户扣除100元,操作2应该是B的账户增加100元。但是如果操作1结束后的瞬间,数据库宕机,操作2没有发生,整个事务应该回滚,回到操作1之前的状态,就像任何操作没有进行的样子,而不能"明明A账户扣除了100元,但是B账户没有增加"的情况。

一致性

一个事务执行前后,数据库应该保持一致性的状态,比如A账户和B账户原来余额都是200元,一共是400元,转账之后,A账户应该是100元,B账户应该是300元,加起来还是400元。

隔离性

数据库的事务应该具有隔离性,即不同事务在不同的空间能够并发执行,而不会相互干扰。

持久性

一个事务执行完毕后,对数据库的影响应该是永久的,即使数据库发生宕机,也不应该丢失数据。

上次编辑于:
贡献者: houbingzhi123
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8