mysql的mvcc机制中,read view是什么时候生成的?

在 MySQL 的 Read Committed (RC) 隔离级别下,读视图(Read View) 的生成遵循以下原则:


RC 隔离级别下 Read View 的生成时机

在 RC 隔离级别中,每次执行**快照读(Snapshot Read)**时都会生成一个新的 Read View,而不会在事务开始时就固定一个 Read View。这意味着:

  1. 每个查询都会生成一个新的 Read View

    • 每次执行 SELECT 查询时,都会获取当前数据库的最新提交版本。
    • 查询不会受到事务中前一次查询的 Read View 的限制。
  2. 与事务的写操作无关

    • 即使事务已经执行过写操作 (INSERT, UPDATE, DELETE),后续的读操作依然会基于最新的已提交数据生成新的 Read View

RC 与 Read View 的关键点

  • 实时性:RC 隔离级别确保每次查询都能读取到其他事务已经提交的最新数据。
  • 快照独立性:RC 的每次查询生成的 Read View 是独立的,与事务其他查询生成的 Read View 无关。
  • 不可重复读:由于每次查询生成的 Read View 不同,同一事务中的两次查询可能读取到不一致的数据(即不可重复读)。

RC 隔离级别下 Read View 的作用

在 RC 中,Read View 的主要作用是:

  1. 避免读取未提交的数据(防止脏读)。
  2. 每次查询的 Read View 确保只读取其他事务已经提交的数据版本。

对比 RR 隔离级别

Repeatable Read (RR) 隔离级别下:

  • Read View 只在事务的第一次快照读时生成。
  • 整个事务中后续的快照读共享相同的 Read View
  • 保证了同一事务内的可重复读。

而在 RC 中,每次查询的 Read View 独立生成,因此可能导致不可重复读。


总结

Read Committed (RC) 隔离级别下:

  • Read View 是在每次执行快照读时生成的,而不是在事务开始时固定生成。
  • 这一机制确保了事务每次查询可以看到最新的已提交数据,同时也导致了不可重复读的现象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19257.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C++ —— string类(上)

目录 string的介绍 string类功能的使用介绍 constructor —— 构造 介绍使用(1)(2)(4) :构造、拷贝构造、带参构造 介绍(3):拷贝string类对象的一部分字符…

关于Qt C++中connect的几种写法

目录 1. 传统的槽函数写法 2. 使用函数指针的connect写法(5.0) 3. Lambda表达式作为槽函数(C11) 4.使用QOverload选择重载信号的写法 这connect函数就像是编程世界里的“茴”字,千变万化,各有千秋。咱们…

(二)PyTorch简要教学

文章目录 PyTorch教学一、训练一个神经网络二、用PyTorch是怎么去做的(一)Dataset & DataLoader(二)Tensors(1)Tensor是什么(2)怎么获得Tensor(3)Tensor相…

GRPC实现

1.首先下载对应编译插件,这里不再提供下载 2.编写proto文件 3.编写完成用命令生成go文件 protoc --go_out. --go-grpc_out. *.proto --go_out. 其中的. 是说你要编译的 .proto 文件目录为当前目录,按需修改 --go-grpc_out.,其中的. 是说你生…

Path does not exist: file:/D:/pythonProject/spark/main/datas/input/u.data

出现标题中的错误原因可能是: 1.文件路径书写错误; 2.文件本身不存在。 从图中可以看出,数据源文件是存在的,但是读取不到文件,说明代码中的文件路径写错了,从报错的结果可以看出,python在D:/…

Wallpaper壁纸制作学习记录01

导入图像 打开wallpaper软件,找到下方的播放列表,选择壁纸编辑器。 弹出下列界面,在创建壁纸处可以选择图片拖入。 在开始导入任何图像之前,请首先确保主背景图像表示实际屏幕分辨率。展示示例图像是 1920 x 1080,这…

【知识科普】统一身份认证CAS

什么是CAS 综合概述一、CAS概述二、CAS的组成与工作原理三、CAS的特性与支持四、CAS的应用场景 示例展示场景设定CAS认证过程 其他认证细节CAS认证过程的细节CAS认证过程的特性 参考文献 综合概述 统一身份认证CAS(Central Authentication Service)&…

计算机网络-MSTP工作原理

前面大致学习了MSTP基础概念与组成,今天来了解MSTP的工作原理。 一、MSTP拓扑计算: MSTP可以将整个二层网络划分为多个MST域,各个域之间通过计算生成CST,域内生成IST,CST和IST构成了整个交换设备网络的CIST。 域内还可…

面试题:Kafka(一)

1. Kafka如何保证消息不丢失 生产者发送消息到Brocker丢失 设置异步发送 消息重试 消息在Brocker中存储丢失 发送确认机制acks 消费者从Brocker接收消息丢失 Kafka 中的分区机制指的是将每个主题划分成多个分区(Partition)topic分区中消息只能由消费者…

odoo 创建应用

1、通过手脚架命令创建文件结构&#xff08;完全可以手动一个个文件/文件夹建&#xff09; odoo-bin scaffold <模块名> <模块放置路径> 在odoo根目录路径执行命令行&#xff1a;./odoo-bin scaffold my_library exte_addons 执行结果&#xff1a; 参考文章&…

十四、SpringMVC的执行流程

文章目录 1. SpringMVC常用组件2. DispatcherServlet初始化过程3. DispatcherServlet调用组件处理请求4. SpringMVC的执行流程 1. SpringMVC常用组件 2. DispatcherServlet初始化过程 3. DispatcherServlet调用组件处理请求 4. SpringMVC的执行流程

java基础概念30:常见API-System

一、System工具类的常用方法 System也是一个工具类&#xff0c;提供了一些与系统相关的方法。 计算机的时间原点:1970年1月1日0:0:0&#xff0c;我国在东八区&#xff0c;有8小时时差。 二、常用方法说明 2-1、System.exit()方法 该方法用于终止当前运行的Java虚拟机&#x…

基于AOA算术优化的KNN数据聚类算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于AOA算术优化的KNN数据聚类算法matlab仿真。通过AOA优化算法&#xff0c;搜索最优的几个特征数据&#xff0c;进行KNN聚类&#xff0c;同时对比不同个数特征下…

三维测量与建模笔记 - 点特征提取 - 4.3 Harris特征点

在3D重建应用中&#xff0c;很重要的一个场景是找到两幅图像中的同名特征点&#xff0c;这个过程需要对特征点进行提取和描述。 从上面描述可以看出&#xff0c;如果窗口处于颜色变化不明显或者没有变化的区域&#xff0c;E的值很小或为0&#xff1b;如果窗口处于边缘位置&…

labview使用报表工具从数据库导出数据

之前写了一篇labview从数据库导出数据到excel电子表格&#xff0c;但是是基于调用excel的activeX控件&#xff0c;有时候会有一些bug&#xff0c;就比如我工作机就无法显示方法&#xff0c;后面大哥指点才知道没有的原因是excel安装不完整。像我的工作机就没有这个选项。就需要…

WIFI-TTL透传模块说明书

WIFI-TTL透传模块说明书 V 1.0 2022-11-24 目录 1 简介... 4 2 模块参数... 4 3 接口定义... 5 4 设备配网... 6 5 AT指令... 11 6 恢复出厂... 12 7 设备配置... 13 7.1 配置界面说明... 13 7.2 TTL串口配置... 13 7.3 …

基于YOLOv8深度学习的智慧交通非机动车驾驶员头盔佩戴检测系统

随着智慧交通系统的快速发展和城市交通的日益复杂化&#xff0c;非机动车驾驶员的安全问题引起了广泛关注&#xff0c;尤其在发生交通事故时&#xff0c;佩戴头盔作为基础的保护措施&#xff0c;能够有效降低头部受伤的风险&#xff0c;保障非机动车驾驶员的生命安全。然而&…

Flutter踩坑:原生安卓页面向Flutter通信

Flutter踩坑&#xff1a;原生安卓页面向Flutter通信 前言 在 Flutter APP 的开发过程中&#xff0c;有时不仅需要使用 Flutter 提供的组件&#xff0c;还需要使用原生的组件。 例如在对接外部 SDK 时&#xff0c;如果自己重新实现 SDK 的逻辑&#xff0c;无疑是本末倒置。 前…

w043基于springboot的“衣依”服装销售平台的设计与实现

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0…

【计算机网络安全】湖北大学-mysql事务隔离性实验

参考数据库实验&#xff1a;并发控制实验&#xff08;MySQL&#xff09;-CSDN博客&#xff0c;大佬写的很好 实验环境 实验需要mysql环境&#xff0c;如果我们本机有mysql客户端&#xff0c;或者安装过phpstudy都可以直接用&#xff0c;Kali似乎也有。 本机启动phpstudy&…