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按照顺序执行,这样就可以克服上述隔离级别出现的问题,所以能够保证数据的一致性。

  • 相关阅读:
    java.lang.NoClassDefFoundError: sun/swing/plaf/synth/SynthIcon
    微信数据库解密--代码报错:未定义标识符 HMAC_CTX_init
    Windows家庭版组策略编辑
    Visual Studio x64 使用 .asm 文件
    某数据库管理软件离线注册分析
    EV剪辑分析
    ciscn_lonelywolf
    arm-pwn
    libc-2.32.so在orw上与其他版本的区别
    更新libc
  • 原文地址:https://www.cnblogs.com/KingAndPig/p/13790053.html
Copyright © 2011-2022 走看看