数据库的事务特性&事务隔离级别

本文详细介绍了数据库事务的ACID特性,包括原子性、一致性、隔离性和持久性,并探讨了事务的一致性理解。接着,分析了并发状态下事务可能出现的脏读、不可重复读和幻读问题。最后,阐述了四种不同的事务隔离级别及其作用,以及如何在隔离性和并发性之间进行权衡。
摘要由CSDN通过智能技术生成

数据库的事务特性ACID

什么是事务?
由一组SQL语句组成的一个程序执行单元,要么全部成功,要么全部失败
在这里插入图片描述
事务特性(ACID)
A原子性:不可分割性,事务要么全执行,要么全不执行
C一致性:事务开始和结束之间的中间状态不会被其他事务看到
I隔离性:多个事务并发访问,事务之间是隔离的,一个事务不应该影响其他事务运行效果
D(durability)持久性:事务对数据库所作的更改持久保存在数据库中

怎么理解数据库事务的一致性?
一致性保证一个事务中的多次操作的数据中间状态对其他事务不可见。
举例:A给B转账100元。事务要做的是从A账户上减掉100元,向B账户加上100元。一致性的含义是要么看到A还没给B转账的状态,要么看到A已经成功转账给B的状态。A已经少了100元但B还没有加上100元的中间状态是不可见的。

原子性和一致性的比较
原子性和一致性的侧重点不同:
原子性关注状态,要么全部成功,要么全部失败,不存在部分成功的状态。
一致性关注可见性,中间状态的数据对外部不可见,只有最初状态和最终状态的数据对外可见。

怎么理解未提交读的隔离级别不符合一致性
在未提交读的隔离级别下,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值