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 保证所有的情况不会发生(锁表)

      

  • 相关阅读:
    Ubuntu开机自动挂载Windows分区
    Ubuntu 修改hosts
    线程安全
    可重入
    java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet问题
    两数相加
    2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17)
    Anniversary party
    k倍区间
    算法训练 素因子去重
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/6655631.html
Copyright © 2011-2022 走看看