美文网首页
事务隔离级别

事务隔离级别

作者: 晨曦_lcq | 来源:发表于2020-08-10 08:43 被阅读0次

事务隔离特性

支持事务的数据库必须满足四个特性:

  • 原子性:整个操作要么执行成功,要么执行失败
  • 持久化:事务提交后就持久化到数据库
  • 隔离性:各个事务之间是相互隔离的
  • 一致性:事务开始前和开始后,数据的完整性没有破坏。如A向B转账,不可能A扣了钱,B没收到钱

概念

  • 脏读: 可以读到其他事务没有提交的数据。
  • 不可重复读:多次查询期间,有人进行了更新操作,读取的数据不一致。
  • 幻读:多次查询期间,有人进行了新增、删除操作,读取的数据发生了变化。一脸懵逼,刚才发生了什么。

事务隔离级别

  • 读未提交读(read uncommit):可以读到没有提交的数据
  • 提交读(read commited):只能读到其他事务已经提交的数据,并不是加锁使用了快照读
  • 可重复读(repeated read):多次读取,读到的数据都是一样的。不能避免幻读( insert or delete)
  • 序列化(Serializable):一个一个来,串行执行

事务隔离级别

  • PROPATION_REQUIRED_NEW: 开启一个新事务,如果当前已经存在事务则挂起
  • PROPATION_REQUIRED: 如果当前有事务,则加入当前事务,如果当前没有事务,则创建一个新的
  • PROPATION_NOT_SUPPORT: 非事务的执行,如果存在一个活动事务则挂起
  • PROPATION_NEVER: 总是非事务的执行,如果存在一个活动事务则抛出异常
  • PROPATION_MANDATORY: 如果存在一个事务,则支持当前事务。如果没有一个活动的事务,则抛出异常。
  • PROPATION_SUPPORTS: 如果当前方法存在一个事务,则将方法置于同一个事务,如果之前不存在事务,则以非事务执行
  • PROPATION_NESTED: 如果一个活动的事务存在,则运行一个嵌套的事务中。如果没有活动事务,则按PROPATION_REQUIRED属性执行。

区别

假设服务A调用服务B:

情景 requires_new(两个独立的事务) nested(B嵌套在A的事务里) required(同一个事务)
A和B都正常提交 B先提交,A再提交 A和B一起提交 A和B一起提交
B抛异常,A正常 1.A有catch B的异常,B回滚,A正常提交;2.A没有catch B的异常,B回滚,A再回滚 B先回滚,A再回滚 A和B一起回滚
B正常,A异常 B正常提交,A回滚 A和B一起回滚 A和B一起回滚
A和B都异常 B先回滚,A再回滚 A和B一起回滚 A和B一起回滚

相关文章

  • Spring 中的事务隔离级别

    什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执...

  • MySQL_tx_isolation

    事务隔离级别 一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、...

  • MySQL事务隔离级别和实现原理,看这一篇就够了!!!

    经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么...

  • 面试题

    基础知识 1、事务隔离级别 补充: 1、事务隔离级别为读提交时,写数据只会锁住相应的行 2、事务隔离级别为可重复读...

  • 数据库事务相关

    事务隔离级别(tx_isolation)mysql 有四级事务隔离级别 每个级别都有字符或数字编号 级别symbo...

  • 关于Spring的事务Transactional,锁同步,并发线

    Spring事务传播机制和数据库隔离级别 在标准SQL规范中定义了4个事务隔离级别,不同隔离级别对事务处理不同 。...

  • Mysql事务

    事务隔离级别 事务隔离级别有四种:read-uncomitted,read-commited,repeatable...

  • mysql事务-2020-11-21

    use test查询事务隔离级别:select @@tx_isolation; 设置事务隔离级别://全局的set...

  • MYSQL事务

    常用语句 MYSQL事务,锁表 事务控制语句 事务的隔离级别 隔离级别描述产生风险READUNCOMMITTED ...

  • 事务

    事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition 接口中定义了...

网友评论

      本文标题:事务隔离级别

      本文链接:https://www.haomeiwen.com/subject/zhearktx.html