MySQL——2、并发事务所带来的问题是什么?怎样去解决?MySQL的默认隔离级别是什么

一、并发事务所带来的问题

1、脏读:就是一个事务对数据进行查询操作时而另一个事物在修改这条数据但未提交,这时进行查询操作的事务就会读取到未提交的数据也就是脏数据

2、不可重复读:事务A查询一次数据接着事务B修改了数据并且已提交事务A继续执行操作查询数据读到了不一样的数据

3、幻读:事务执行查询数据时不存在,插入数据时却报错,再次查询时还是在。原因在于事务A查询的时候数据库确实没有对应索引的数据但之后事务B却进行了插入操作,事务A再次查询时还是查不到(这是因为我们已经实现了可重复读)

二、怎样去解决

对事务进行隔离

隔离级别        脏读        不可重复度        幻读

————————————————————

读取未提交

read uncommit   yes        yes        yes

————————————————————

读取已提交

read commit        no        yes        yes

————————————————————

可重复读

repeatable read no        no        yes

————————————————————

串行化

serializable        no        no        no

————————————————————

从上往下性能递减,功能递增

三、MySQL的默认隔离级别

可重复读(repeatable read)原因在于串行化虽然能解决事务并发的所有问题,但关键在于串行化会导致只有一个事务执行完成后才能继续其他事务的执行也就没有并发这一说了,效率非常低。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值