MySQL事务隔离级别

MySQL事务隔离级别有4级

1.读取未提交

  • 事务A新增一条记录,尚未提交,事务B可以读取
  • 别人还没提交,你就可以读了,造成脏读

2.读已提交

  • 事务A新增一条记录,尚未提交,事务B不可以读取
  • 事务A新增一条记录,提交后,事务B可以读取

3.可重复读

  • 相同事务,每次读取数据一致
  • 事务B在读取过程中(开始事务,读取过一次),事务A的写操作提交与否,事务B当前事务中都不可读取
  • 事务A已经更新了数据,但是事务B读的还是老数据,可重复读

4.串行化

  • 事务B在读过程中(未提交),事务A的写操作会挂起等待
  • 事务B在读过程中(未提交),事务A的读操作正常
  • 事务B提交后,事务A写操作会执行成功
  • 事务A在写过程中(未提交),事务B的读操作会挂起等待
  • 事务A提交后,事务B读操作会执行成功

总结:

  • 第1级别,一般不会用,脏读风险较高;
  • 第2级别,建议使用
  • 第3级别,MySQL默认级别,不过建议修改级别为读已提交
  • 第4级别,不建议使用,影响性能

本文完。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文链接: java中数据库事务嵌套与mysql事务隔离级别 今天在java代码中遇到一个数据库相关的bug,在分...
    rainybowe阅读 3,038评论 2 11
  • 事务一. 事务的特性(ACID) 原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确...
    Sandy_678f阅读 715评论 0 3
  • 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出来说例子就是转账了。假如小...
    绿叶悠阅读 1,758评论 0 0
  • 前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是...
    bbe9e62bc5ba阅读 816评论 0 2
  • 01 看过这样一段话,每每想起,都觉得特别有道理: 如果你想像雄鹰一样翱翔天空,那你就要和群鹰一起飞翔,而不要与雁...
    饥者求食阅读 978评论 7 28

友情链接更多精彩内容