数据库事务4

 为了操作方便,数据库为我们设置了4种事务隔离级别,不同级别数据库有不同的加锁策略,对我们来说是透明的。我们根据实际情况,权衡并发性和隔离性进行选择。


隔离级别是否出现第一类丢失更新是否出现脏读是否出现虚读是否出现不可重复读是否出现第二类丢失更新

Serializable
串行化

 否 否 否 否 否
RepeatableRead
可重复读
 否 否 是 否 否
ReadCommited
读已提交数据
 否 否 是 是 是
ReadUcommited
读未提交数据
  否 是 是 是 是

 

Serializable完全看不到其他事务所作的更新。

RepeatableRead可以看到其他事务已经提交的新插入记录,但是不能看到其他事务对已有记录的更新。

ReadCommited可以看到其他事务已经提交的新插入记录,也能看到其他事务对已有记录的更新。

ReadUcommited可以看到其他事务未提交的新插入记录,也能看到其他事务对已有记录的未提交更新。

一般数据库默认ReadCommited,已经可以满足大部分需要了。能够避免脏读和有较好的并发性,但是也有一些并发的问题,可以通过应用程序的悲观锁和乐观锁来规避。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值