zoukankan      html  css  js  c++  java
  • sql 的四种隔离级别

    1、未提交读。

          最低的隔离级别(是一种危险的隔离级别,会出现脏读),其含义是允许一个事务读取另外一个事务没有提交的数据。

          

          T2时刻中事务1中扣减了库存,T3时刻中事务2也扣减了库存,但是它也读取到了T2时刻中事务1的操作,因此T3时刻扣减后库存为0,这个时候T5在提交事务后事务1进行回滚,因为第一类丢失更新已经被克服,所以库存最终会出现脏读(库存应该为1才是正确的)。

          2、读写提交。

          指一个事务只能读取到另外一个事务已经提交的数据。

          

            在T3时刻,因为采用了读写提交的隔离级别,所以事务2不会读取到事务1中未提交的库存1,所以在T3时刻事务2扣除库存后还剩下库存为1,然后提交事务。则库存在T4中就变成了1。在T5时刻,事务1回滚,因为第一类丢失更新已经克服,所以最后的库存结果也变为了1。

          3、可重复读。

          克服读写提交中出现的不可复读的现象,因为在读写提交的时候,可能出现一些值的变化,影响当前事务的执行。

          

          

          

          4、串行化

          最高的隔离级别,会要求所有的SQL按照顺序执行,这样就可以克服上述隔离级别出现的问题,所以能够保证数据的一致性。

  • 相关阅读:
    Teamwork[HDU4494]
    The Parallel Challenge Ballgame[HDU1101]
    「JSOI2016」无界单词
    「SCOI2015」小凸玩密室
    #3636. IIIDX(iiidx)
    #2652. 背单词(word)
    「JXOI2017」加法
    拙者
    19.10.01 acm E:Lowest Common Ancestor
    #3391. big
  • 原文地址:https://www.cnblogs.com/KingAndPig/p/13790053.html
Copyright © 2011-2022 走看看