zoukankan      html  css  js  c++  java
  • MySQL_Oracle_事物的隔离级别

    数据库会话的设置:

    1:脏读

         情景:A事物读取B事物修改了但是未提交的数据

         问题:若B回滚了事物,A就读到了错误数据。

    2:不可重复读

        情景:A事物查询数据,B修改了数据,A又查询数据

        问题:A事物前后两次数据不一样

    3:幻读

        情景:A事物查询数据,B事物插入数据,A又查询数据

        问题:A事物感觉出现了幻觉,多了些数据

    1.读未提交(Read Uncommitted):这种隔离级别可以让当前事务读取到其它事物还没有提交的数据。这种读取应该是在回滚段中完成的。通过上面的分析,这种隔离级别是最低的,会导致引发脏读,不可重复读,和幻读。
    2.读已提交(Read Committed):这种隔离级别可以让当前事务读取到其它事物已经提交的数据。通过上面的分析,这种隔离级别会导致引发不可重复读,和幻读。
    3.可重复读取(Repeatable Read):这种隔离级别可以保证在一个事物中多次读取特定记录的时候都是一样的。通过上面的分析,这种隔离级别会导致引发幻读。
    4.串行(Serializable):这种隔离级别将事物放在一个队列中,每个事物开始之后,别的事物被挂起。同一个时间点只能有一个事物能操作数据库对象。这种隔离级别对于数据的完整性是最高的,但是同时大大降低了系统的可并发性。

  • 相关阅读:
    jQery总结01
    抽象类和接口精华
    JS基础之开篇
    HTML常见元素集锦
    bzoj3626 [LNOI2014]LCA
    bzoj3223 Tyvj 1729 文艺平衡树
    bzoj3196 Tyvj 1730 二逼平衡树
    bzoj3295 [Cqoi2011]动态逆序对
    bzoj3514 Codechef MARCH14 GERALD07加强版
    bzoj3932 [CQOI2015]任务查询系统
  • 原文地址:https://www.cnblogs.com/xiaoit/p/3420149.html
Copyright © 2011-2022 走看看