所有分类
  • 所有分类
  • 未分类

MySQL隔离级别–未提交读,提交读,可重复读,序列化–详解(有示例)

简介

本文介绍MySQL的事务隔离级别的含义,并用示例说明各个级别会出现的问题:脏读、不可重复读、幻读。

MySQL有四种隔离级别:未提交读,提交读,可重复读,序列化。

事务的隔离级别是Java后端面试题中经常会问到的问题。

概述

隔离级别说明

高一级的级别提供更强的隔离性。标准允许事务运行在更强的事务隔离级别上。(如在可重复读(REPEATABLE READ)隔离级别上执行提交读(READ COMMITTED)的事务是没有问题的)。

以上除了序列化读以外,其他3种隔离级别都允许对同一条记录进行读-读、读-写、写-读的并发操作,如果我们不允许读-写、写-读的并发操作,可以使用SERIALIZABLE隔离级别。

此内容查看价格为0.8自学币,VIP免费,请先
2

评论2

请先

  1. 站长,提交读导致幻读示例为啥我的试验结果不同,事务b提交后查询结果是3,4,5。示例条件应该是 where id > 3;且此处是因为事务b提交后查询出现了4所以产生幻读吗。这是否也算不可重复读,因为同一个事务内相同查询条件返回不同查询结果了。对幻读的理解不太够。
    罖亽 2024-05-05 0
    • 要深究的话,这也属于不可重复读。这里应该是为了和不可重复读进行区分,于是起了个幻读这个名字。
      自学精灵 2024-05-05 0
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录