Mysql事物之隔离级别

前沿:Mysql的事物隔离级别在很多面试中会被问到,既然会被高频问到,一定是面试官在开发中遇到了很多问题或者说这些知识是开发中必备的。下面我解释下我们写代码中会遇到的问题。

  • 场景一:两个数据库链接,A和B。当A去更新某一条数据,但是并未提交,但是B去查询这条数据的时候已经查询到A更新且未提交的数据了。这在实际开发中是不允许的。这种情况叫脏读。
  • 场景二:两个事物,A和B,当A事物中频繁的去查询某个用户的金额的时候,在B中去修改了这个用户的金额,那么当A第一次去查询的金额和第二次去查询的金额不一致,一个事物中对同一条数据查询的结果不一致。试想,我们作为程序员,出现这种情况,我们的代码怎么出处理?这种叫做不可重复读。
  • 场景三:两个事物,A和B,当A去查询某个表的数据条数,B去insert或者del这个表的数据的时候。A查询出来的结果一会多一会少。就好像是幻觉一样,这种情况叫幻读。

基于以上的三种场景,Mysql在处理的时候给我们提供了几种选择:

事物隔离级别脏读不可重复读幻读
读未提交(read-uncommitted)
读已提交(read-committed)
可重复读(repeatable-read)
串行化(serializable)

首先明确一点,事物的隔离级别是基于Connection,那么我们查看connection默认的隔离级别的方式:
在这里插入图片描述
我们看到默认的事物隔离级别是(可重复读)repeatable-read。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值