首页 > 其他分享 >事务隔离

事务隔离

时间:2023-03-08 18:57:42浏览次数:31  
标签:事务 隔离 视图 V1 V2 提交

隔离性与隔离级别

事务特点:ACID(Atomicity、Consistency、Isolation、Durability) 原子性/一致性/隔离性/持久性

隔离级别

  • 读未提交
    一个事务还没提交时,其变更就能被其他事物看到。

  • 读提交
    一个事务提交后,其变更就能被其他事物看到。

  • 可重复读
    一个事物执行过程中看到的数据,总跟这个事务在启动看到的数据一致。

  • 串行化
    对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。

例子

image

  • 读未提交
    V1=2,V2=2, V3=2

  • 读提交
    V1=1, V2=2, V3=2

  • 可重复读
    V1=1, V2=1, V3=2

  • 串行化
    V1=1, V2=1, V3=2
    事务 B 执行“将 1 改成 2”的时候,会被锁住。直到事务 A 提交后,事务 B 才可以继续执行

实现机制

在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。

  • RU:没有视图的概念,直接返回最小行数据。
  • RC:MVCC视图在每一行SQL语句执行的时候创建。所以在RC级别下,一个事务是可以看到另外一个事务已经提交的内容。
  • RR:MVCC视图实在开始事务的时候就创建好了,这个视图会一直使用,直到该事务结束。
  • Serial:通过锁来实现数据访问,没有视图的概念。

标签:事务,隔离,视图,V1,V2,提交
From: https://www.cnblogs.com/kiper/p/17195739.html

相关文章

  • 云图说丨云数据库GaussDB(for MySQL)事务拆分大揭秘
    摘要:数据库代理提供事务拆分的功能,能够将事务内写操作之前的读请求转发到只读节点,降低主节点负载。本文分享自华为云社区《【云图说】第270期云数据库GaussDB(forMySQL)......
  • 事务的传播行为
    事务的传播行为如果当前存在一个事务事务的传播行为(PropagationBehavior)表示整个业务处理过程所跨越的业务对象,将以什么样的行为参与事务。即在一个service中调用其他......
  • 分布式事务-最大努力通知 20230307
              ......
  • 微服务之事务管理Seata
    Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务,也是SpringCloudAlibaba提供的组件, Seata官方文档:为什么需要Sea......
  • 20_Spring_零XML事务控制
    ​ 创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importor......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
    ​ 创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importor......
  • MySQL事务的隔离级别
    1.读未提交读取到别人未提交的数据,即脏读2.读已提交读取别人已经提交的数据,但是不同时间点读取到的数据可能并不一致,别人可能多次提交了不同的数据,这种即不可重复读3.......
  • 19_Spring_事务管理XML配置方式
    ​ applicationContext中,通过AOP实现事务的控制 <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xm......