zoukankan      html  css  js  c++  java
  • 数据脏读-非重复读-幻读

    1,脏读:(读取了还未提交的数据

      A事务正在执行行数据修改,还未提交到数据库;

      B事务此时访问行数据直接取用了还未提交的修改;

      解决:A事务未提交前,不允许其他事务访问A事务修改内容

    2,不可重复读: (修改:同样的数据再次读取数据发生改变

      A事务多次读取同一行数据,还未读取结束;

      B事务此时修改了行数据,导致A事务多次读取的数据不一致;

      解决:B事务修改操作提交之后,在进行读取操作

    3,幻读:(新增删除:同样的数据再次读取数量发生改变

      A事务修改所有行数据,还未提交;

      B事务此时插入新的行数据,A操作发现还有未修改的行数据(B事务插入操作)

      解决:A事务修改提交后,在进行其他操作新增删除等操作

    4,丢失更新:(修改:更新内容丢失

      A事务和B事务同时修改同一行数据,出现A事务修改内容丢失,修改内容变成B事务修改内容;

      解决:进行行加锁,只允许并发一个更新事务

    基于元数据的 Spring 声明性事务 :

    Isolation 属性一共支持五种事务设置,具体介绍如下:

    l          DEFAULT 使用数据库设置的隔离级别 ( 默认 ) ,由 DBA 默认的设置来决定隔离级别 .

    l          READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 )

    l          READ_COMMITTED  会出现不可重复读、幻读问题(锁定正在读取的行)

    l          REPEATABLE_READ 会出幻读(锁定所读取的所有行)

    l          SERIALIZABLE 保证所有的情况不会发生(锁表)

      

  • 相关阅读:
    robotframework框架
    pytest系列(四)- pytest+allure+jenkins
    robotframework框架
    接口测试时遇到 java 代码加密请求数据,用 python 的我该怎么办?
    selenium原理应用
    pytest系列(一):什么是单元测试界的高富帅?
    python appium搭建app自动化测试环境
    python selenium
    python3.4 + pycharm 环境安装 + pycharm使用
    requests(三):json请求中中文乱码处理
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/6655631.html
Copyright © 2011-2022 走看看