数据库事务隔离级别小记

数据库事务隔离级别小记,第1张

首先数据库事务特性:ACID,对应的分别是原子性,一致性,隔离性和持久性。

原子性:个人理解,事务内的所有 *** 作,要么都成功,要么都失败,一荣俱荣一损俱损。

一致性:以转账为例子,A账户和B账户的余额,在转账之前和转账之后的总额是不变的。

隔离性:事务与另外一个事务之间是相互隔离的,并且分为四个级别:读未提交,读已提交,可重复读,串行化。

持久性:事务提交后,数据会写入物理存储空间,不做删除和修改处理一直存在。

主要讲隔离级别

读未提交:事务A和事务B,分别建立会话。事务A对数据做修改,但是事务内并未commit,事务B查询是能查询出来的。这种隔离级别会出现,脏读,不可重复读和幻读。

读已提交:事务A和事务B,分别建立会话。事务A对数据做修改,并且做了commit过后,事务B才能查询出来做了变化。这种隔离级别会出现,不可重复读和幻读。

可重复读:事务A和事务B,分别建立会话。事务A对数据做了处理,并且commit了,但是事务B结束之前都是查不出来的。这种隔离级别会出现,幻读。(幻读解释,事务A对数据做新增和删除 *** 作,事务B无法知道,事务B也做新增就会提示主键冲突)。

串行化:事务不能并发创建,必须一个事务完成后,才能开启下一个事务。不是出现脏读,不可重复读,和幻读,但是效率较低。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/920170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存