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):这种隔离级别将事物放在一个队列中,每个事物开始之后,别的事物被挂起。同一个时间点只能有一个事物能操作数据库对象。这种隔离级别对于数据的完整性是最高的,但是同时大大降低了系统的可并发性。

  • 相关阅读:
    koa2 nginx 服务器配置
    Spring Cloud 中OpenFeign的使用(二)
    Spring Cloud中OpenFeign的使用(一)
    Spring Cloud Alibab Sentinel服务端搭建
    asp.net core 读取 appsettings.json 节点值
    c# – AuthenticationHeaderValue与NetworkCredential
    元气
    艾维利时间管理法
    BPM/OA/审批流/工作流
    消息队列
  • 原文地址:https://www.cnblogs.com/xiaoit/p/3420149.html
Copyright © 2011-2022 走看看