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

    一.mysql事件隔离级别

    1未提交读(READUNCOMMITTED)

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

    2..提交读(READCOMMITTED)

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

    3.可重复读(REPEATABLEREAD)

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

    4.串行化(SERIALIZABLE)

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

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

    1.脏读

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

    2.不可重复读

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

    3.幻读

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

    4.复读

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

  • 相关阅读:
    Android WebView 获取网页的标题
    Android APK 文件自动安装
    DownloadManager 的使用
    Android Java 自定义异常
    Android NDK
    android assets文件夹资源的访问
    GitHub 基本常用知识解答2
    hbuilder egit插件的安装使用--项目文件丢失的教训
    微软收购跨平台移动应用开发商Xamarin
    Android Study 之 初识ButterKnife(8.5.1)及简单运用
  • 原文地址:https://www.cnblogs.com/dongshenjun/p/14141993.html
Copyright © 2011-2022 走看看