zoukankan      html  css  js  c++  java
  • Spring事物管理(一)

     

    SQL的四种隔离级别

    Read_Uncommitted(读未提交)   隔离级别最低,并发性高,也称脏读。

    ②Read_Committed(读已提交) 大多数数据库默认隔离级别(不包括MySQL)。

    ③Repeatable_Read (可重复度) MySQL默认隔离级别。保证同一事物的多个实例在并发读取数据时,会看到同样的数据行。

    ④Serializable(可串行化) 隔离级别最高,他通过强制事物排序,使之不能相互冲突。

     

     

    三种数据库默认隔离级别

    SQL Server 读已提交

    Oracle    读已提交

    MySQL   可重复度

     

    脏读:某个事物已更新一份数据,另一事物在此时读取了同一份数据,由于某些原因,前者回滚了,则另一事物所读取的数据就不正确。

     

    不可重复读:在一个事物的两次查询的数据不一致。

     

    幻读:在一个事物的两次查询的数据行不一致。

     

     

     

    修改事物权限的语句

    SET [GLOBAL|SESSION] TRANSACTION ISOLATION LEVEL [Read_Uncommitted|Read_Committed|Repeatable_Read|SERIALIZABLE]
    

      

    查询现有隔离级别

    SHOW VARIABLES LIKE 'tx_isolation'
    

      

    查询全局事物隔离级别

    SHOW GLOBAL VARIABLES LIKE 'tx_isolation'
    

      

     事物的七种传播行为

    1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。

    2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘

    3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。

    4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。

    5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

    6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。

    7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

     

     

     

     

  • 相关阅读:
    App唤起微信小程序和回调
    微信小程序 — 自定义picker选择器弹窗内容+textarea穿透bug
    微信小程序的场景值scene
    微信小程序textarea层级过高(盖住其他元素)
    微信小程序如何修改本地缓存key中的单个数据
    微信小程序---查看更多的显示与隐藏
    微信小程序文字超过行后隐藏并且显示省略号
    Flutter 页面下拉刷新和上拉加载
    json转换成dart类 JSON to Dart
    Flutter 保持页面状态
  • 原文地址:https://www.cnblogs.com/xuchangqi1/p/8581056.html
Copyright © 2011-2022 走看看