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

acid的事务特性

原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability

原子性就是要么成功要么失败。

一致性就是比如存款总额不变。从一个一致性状态转移到另一个一致性状态。

事务之间不可以相互影响。事务在提交之前是不被其他事务可见的。

事务完成后持久存储在磁盘的数据库中。


脏读:读取过期失效的数据。

不可重复读:一个事务范围内两个相同的查询却返回了不同数据。

幻读:解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(一致性)。但是,如果另一个事务同时提交了新数据,本事务再更新时,就会“惊奇的”发现了这些新数据,貌似之前读到的数据是“鬼影”一样的幻觉。

四种隔离级别

未提交读:它充许令外一个事务可以看到这个事务未提交的数据。会出现三个问题:脏读,不可重复读,幻读。

提交读即不可重复读?保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。 解决了脏读。大部分数据库默认的级别。

可重复读 它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。解决了不可重复读。mysql默认的级别。

可串行化(序列化):它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。解决了幻读。代价最高,最可靠。读操作会隐式获取共享锁,可以保证不同事务间的互斥。


七种传播行为。。。。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值