数据库事务隔离级别与实现原理

事物的四大特性,即常说的ACID: 1、原子性(Atomic):指的是事物所有的操作要么全做、要么全不做。 2、一致性(Consistency):事物应该确认数据库从一个一致状态转变为另一个一致状态。(数据库中的数据应满足完整性约束) 3、隔离性(Isolation):指的是多个事物并发执行的时候、一个事物的执行不应当影响到其它的事物、即事物与事物之间是隔离的。 4、持久性(Durabil...
摘要由CSDN通过智能技术生成

事物的四大特性,即常说的ACID:

	1、原子性(Atomic):指的是事物所有的操作要么全做、要么全不做。
	2、一致性(Consistency):事物应该确认数据库从一个一致状态转变为另一个一致状态。(数据库中的数据应满足完整性约束)
	3、隔离性(Isolation):指的是多个事物并发执行的时候、一个事物的执行不应当影响到其它的事物、即事物与事物之间是隔离的。
	4、持久性(Durability):指的是一个事物一旦提交、它对数据库的修改应该永久保存在数据库中。

说完了事物、说一下事物并发引起的问题:

	1、更新丢失---即一个事物的更新覆盖了另一个事物的更新。导致另一个事物的更新丢失。
		比如、你和你妻子共同有个银行账户、里面原来有1000块钱、你这个月发工资了、把你的4300块钱
		的工资存入了银行,本来应该有5300块钱的工资。但是在这个过程中、你妻子去取钱、她想取500
		买个口红、结果取得过程中、银行的取钱系统出故障了、导致数据回滚、然后银行的账户变成了	
		1000、这个时候你存入的4300块钱就不莫得了。
	2、脏读---指的是一个事物读到了另一个事物未提交的数据。 
		还是上面的场景、当你存钱的时候、你妻子正在查询余额、这个时候你还没存成功、你妻子查询出
		来的账户余额有5300、然后存钱系统出故障了,导致存钱失败。你妻子看钱多了、打算买了1500的
		口红、但是取得时候提示余额不足。所以你晚上回去就跪搓衣板了。

	3、不可重复读 --- 在一个事物中、对同一数据进行两次读取。但是读取到的结果不一致。
		上面的场景重现、在你存钱之前、你妻子想把账户里面所有的钱取出来。但是忘了账户里面还有多
		少钱、查询了一下还有1000,这个时候你不是存钱了而是打算取100块钱买包烟
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值