事务四个特征(ACID)

事务四个特性(ACID):

一、原子性:(博主理解:事务需要提交,不提交修改无效)
事务是数据库的逻辑工作单位,事务中的操作要么都不做,要么都做。

二、一致性:(博主理解:???)
事务执行只有执行结束和没有执行(原子性),这时候数据库就处于符合约束的正确状态。当因为断电等物理原因(隔离性)中断执行时,事务只有一部分执行了,另一部分没有执行。数据库就处在一个不一致的状态。比如:

A要向B支付100元,而A的账户中只有90元,并且我们给定账户余额这一列的约束是,不能小于0.那么很明显这条事务执行会失败,因为90-100=-10,小于我们给定的约束了.>
这个例子里,支付之前我们数据库里的数据都是符合约束的,但是如果事务执行成功了,我们的数据库数据就破坏约束了,因此事务不能成功,这里我们说事务提供了一致性的保证.然后我们再看个例子:

A要向B支付100元,而A的账户中只有90元,我们的账户余额列没有任何约束.然后支付成功了.
事务的执行结果必须是使数据库从一个正确、符合我们所制定约束的状态到另一个正确、符合我们所制定约束的状态。

三、隔离性(博主理解:我写博客你管不着,你看博客也不耽误我写)
事务之间互不干扰。即一个事务内部操作和其他几个并发执行的事务之间是互相隔离的。

四、持续性(博主理解:博客写了只要成功发出去了,就不会因为电脑没电导致博客没了)
事务一旦提交,事务所做的操作就不会因为断电等其他原因导致结果发生改变。

事务隔离级别(Transaction Isolation Level)。

能定义出这样牛逼的规范真的挺不容易的,其实说白了就四个级别:

1.READ_UNCOMMITTED
2.READ_COMMITTED
3.REPEATABLE_READ
4.SERIALIZABLE

千万不要去翻译,那只是一个代号而已。从上往下,级别越来越高,并发性越来越差,安全性越来越高,反之则反。

归纳一下,以上一共提到了事务的 4 条特性,把它们的英文单词首字母合起来就是:ACID,这个就是传说中的“事务 ACID 特性”!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值