zoukankan      html  css  js  c++  java
  • MYSQL事件隔离级别以及复读,幻读,脏读的理解

    一.mysql事件隔离级别

    1未提交读(READUNCOMMITTED)

    另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)( 隔离级别最低,并发性能高 )

    2..提交读(READCOMMITTED)

    本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同的结果(不重复读)。会出现不可重复读、幻读问题(锁定正在读取的行)

    3.可重复读(REPEATABLEREAD)

    在同一个事务里,SELECT的结果是事务开始时时间点的状态,因此,同样的SELECT操作读到的结果会是一致的。但是,会有幻读现象(稍后解释)。会出幻读(锁定所读取的所有行)

    4.串行化(SERIALIZABLE)

    读操作会隐式获取共享锁,可以保证不同事务间的互斥(锁表)

    二.脏读、不可重复读、幻读、复读

    1.脏读

    当前事务读到的数据是别的事务想要修改成为的但是没有修改成功的数据

    2.不可重复读

    当前事务先进行了一次数据读取,然后再次读取到的数据是别的事务修改成功的数据,导致两次读取到的数据不匹配,也就照应了不可重复读的语义

    3.幻读

    当前事务读第一次取到的数据比后来读取到数据条目少或者增加,针对数据的删与增

    4.复读

    当前事务先进行了一次数据读取,然后再次读取到的数据是别的事务修改之前的数据,两次数据相同

  • 相关阅读:
    宏定义函数 字符串 多行书写采用换行
    new / delete && new[] / delete[]
    删除vector中的重复元素
    AES加密算法通用版本
    字符串匹配KMP算法详解
    超外差【整理】
    LTE PDCCH 盲检测
    PDCCH学习
    PDCCH format 与传输模式之间的关系
    LTE测量事件主要有下面几种:Event A1、Event A2、Event A3、Event A4、Event A5、Event B1、Event B2
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11671581.html
Copyright © 2011-2022 走看看