事务并发及隔离级别

事务并发问题
1、脏读:一个事务读取到另一个事务还未提交的数据。

2、不可重复读:在一个事务中多次读取同一个数据时,结果出现不一致。 (对应的是UPDATE修改操作)

3、幻读:在一个事务中使用相同的 SQL 两次读取,第二次读取到了其他事务新插入的行。

不可重复读注重于数据的修改,而幻读注重于数据的插入。(对应的是插入INSERT 或 DELETE 操作)

事务隔离级别

读未提交、读已提交、可重复读、可串行化。

1、read uncommitted : 读未提交 :哪个问题都不能解决

2、read committed:读已提交 :可以解决脏读 —- oracle默认的

3、repeatable read:可重复读:可以解决脏读和不可重复读 —mysql默认的

4、serializable:可串行化:可以解决脏读不可重复读和虚读—相当于锁表

读未提交:就是一个事务可以读取另一个未提交事务的数据。

读已提交:就是一个事务要等另一个事务提交后才能读取数据。

可重复读:就是在开始读取数据(事务开启)时,不再允许修改操作

可串行化:不允许事务并发执行,强制事务串行执行,就是在读取的每一行数据上都加上了锁,读写相互都会阻塞。这种隔离级别最高,是最安全的,性能最低,不会出现脏读,不可重复读,幻读,丢失更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值