zoukankan      html  css  js  c++  java
  • 事务的隔离级别和传播行为

    一、什么是事务隔离

      一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

    五个事务隔级别:lsolation的属性值

    1,default

    默认的事务隔离级别

    2,read_uncommitted

    读未提交,一个事务可以操作另外一个未提交的事务,不能避免脏读,不可重复读,幻读,隔离级别最低,并发性 能最高

    3,read_committed

    读已提交,一个事务不可以操作另外一个未提交的事务, 能防止脏读,不能避免不可重复读,幻读。

    4,repeatable_read

    能够避免脏读,不可重复读,不能避免幻读

    5,serializable

    隔离级别最高,消耗资源最低,代价最高,能够防止脏读, 不可重复读,幻读。

    二、什么是事务传播

      在两个业务之间如何共享事务

    七个事务的传播行为 :propagation的属性值

    1,propagation_required

    如果一个事务存在,则支持当前事务,如果不存在,则创建新的事务

    2,propagation_supports

    如果一个事务存在,则支持当前事务,如果不存在,则非事务的方法运行

    3,propagation_mendatory

    如果一个事务存在,则支持当前事务,如果存在,则抛出异常

    4,propagation_requires_new

    总是要开启一个新的事务,如果事务存在,将该事务挂起

    5,propagation_not_supported

    总是非事务方法运行,并挂起所有的事务

    6,propagation_never

    总是非事务方法运行,如果事务存在则抛出异常

    7,propagation_nested

    某一个事务存在,则运行在一个嵌套的事务中

  • 相关阅读:
    [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
    sql server远程连接非1433端口
    java把double转化为long型
    StringUtils工具类
    JfreeChart折线图
    Log4j配置
    Ibatis,Spring整合(注解方式注入)
    Spring中的autowire属性(转)
    MyBatis3入门样例
    struts2 ibatis Spring系统架构图
  • 原文地址:https://www.cnblogs.com/geekdc/p/8465456.html
Copyright © 2011-2022 走看看