mysql防止不可重复读_mysql怎么解决不可重复读

article/2025/10/19 6:37:44

mysql解决不可重复读的方法:采用了mvcc多版本并发控制,mvcc是利用在每条数据后面加了隐藏的两列,即创建版本号和删除版本号,每个事务在开始的时候都会有一个递增的版本号。

b8843b4937046492cdf23b1a899c5f52.png

【相关学习推荐:

mysql解决不可重复读的方法:

mysql中,默认的事务隔离级别是可重复读(repeatable-read),为了解决不可重复读,innodb采用了mvcc(多版本并发控制)来解决这一问题。

mvcc是利用在每条数据后面加了隐藏的两列(创建版本号和删除版本号),每个事务在开始的时候都会有一个递增的版本号

新增:insert into user (id,name,age)values(1,"张三",10);

81d803ebb085bab8d2049c93c84d1afd.png

更新:update user set age = 11 where id = 1;

更新操作采用delete+add的方式来实现,首先将当前数据标志为删除

63ededae6ce10cf170e35ab6ea7aa51d.png

然后新增一条新的数据:

b578ab8696134790331452927f061c2a.png

删除:删除操作是直接将数据的删除版本号更新为当前事务的版本号delete from user where id = 1;

634985e87928e2391a391716c048bae6.png

查询操作:select * from user where id = 1;

查询操作为了避免查询到旧数据或已经被其他事务更改过的数据,需要满足如下条件:

1、查询时当前事务的版本号需要大于或等于创建版本号

2、查询时当前事务的版本号需要小于删除的版本号

即:create_version <= current_version < delete_version

这样就可以避免查询到其他事务修改的数据


http://chatgpt.dhexx.cn/article/Bal4u2i9.shtml

相关文章

MySQL事务之不可重复读问题

版权声明&#xff1a;本文为 小异常 原创文章&#xff0c;非商用自由转载-保持署名-注明出处&#xff0c;谢谢&#xff01; 本文网址&#xff1a;https://blog.csdn.net/sun8112133/article/details/89739475 文章目录 一、不可重复读概述1、事例2、分析 二、演示不可重复读1、…

数据库脏读、幻读、不可重复读与四种隔离级别的理解

前言 本章着重点是介绍&#xff1a;出现脏读、幻读、不可重复读的原因&#xff0c;以及设定四种隔离级别如何解决这些现象&#xff0c;结合图例让读者阅读得更加通透 一、什么是事务&#xff1f; 所谓事务是用户定义的一个数据库序列&#xff0c;这些操作要么全做&#xff0…

不可重复读和幻读 重

如有侵权请联系本人删除 首先了解acid与mysql MySQL事务之ACID实现原理&#xff08;全方位解读&#xff09; 深入学习MySQL事务&#xff1a;ACID特性的实现原理 二者很相似&#xff0c;不可重复读指的是对同一条记录&#xff08;可以理解为对同一行&#xff09;前后两次的读取…

灰色关联法 —— matlab

目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 的折线图 3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素&#xff0c;其随时间或不同对象而…

如何利用python实现灰色关联分析?

1.灰色关联分析简介 灰色系统这个概念是相对于白色系统和黑色系统而言的。从控制论的知识里&#xff0c;颜色一般代表对于一个系统我们已知信息的多少&#xff0c;白色代表信息量充足&#xff0c;黑色代表我们其中的构造并不清楚的系统&#xff0c;而灰色介于两者之间&#xf…

灰色关联分析法详解及python实践

1. 关于灰色关联分析 1.1. 什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法&#xff0c;其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧密&#xff0c;它反映了曲线间的关联程度。 在系统发展过…

python灰色关联度分析_灰色关联分析法 python

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文2290字,预计阅读需10分钟; 关联分析(association analysis)主要用于发现隐藏在大型数据集中的有意义的联系,它起源于商品销售领域,“啤酒与尿布”的故…

灰色关联分析应用

参考学习b站&#xff1a;数学建模学习交流 感觉这篇博客写的很好&#xff1a;灰色关联分析Matlab代码实现 看完后自己尝试运行的一下&#xff0c;发现和自己本地的matlab代码运行结果不同&#xff0c;就把其中细节写到这篇博客里了 运行上述博客应用2的代码&#xff0c;将更…

灰色关联案例与代码

案例 求他们之间的关联度&#xff0c;并且大小排序。 代码 写了注释&#xff0c;自行查看,换了案例&#xff0c;你只需要修改这一部分即可&#xff1a; 因为读取不一样了嘛&#xff0c;你总要改改数字。 clc; close; clear all; xxlsread(gray_data1.xlsx); xx(:,2:end);%所…

灰色关联法 —— python

目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 的折线图 3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素&#xff0c;其随时间或不同对象而变…

数学建模之灰色关联分析(GRA)

本文参考的是司守奎&#xff0c;孙兆亮主编的数学建模算法与应用&#xff08;第二版&#xff09; 灰色关联分析不仅能够用做关联分析&#xff0c;也能够用于评价。 其具体分析步骤如下&#xff1a; 第一步&#xff0c;需要确定评价对象和参考数列。 评价对象一般指的就是待分…

【DOM】DOM操作之如何添加、删除、替换元素_04

目录 一. 添加删除替换元素 1. 添加新元素: 3步: (1). 创建一个新的空元素对象 (2). 为新元素设置必要的属性: 新元素.属性名"属性值" (3). 将新元素添加到DOM树 2. 示例: 动态创建a元素和input元素 3. 示例: 动态生成表格内容 4. 优化 5. 删除元素: 父元素.re…

DOM操作_获取元素

概述 DOM (Document objectModal) :文档对象模型。 DOM;是浏览器提供的(浏览器特有)&#xff0c;专[ ]用来操作网页内容的一些JS对象。 目的:让我们可以使用Js/TS代码来操作页面(HTML) 内容&#xff0c;让页面“动”起来&#xff0c;从而实现Web开发。 HTML:超文本标记语言…

DOM操作class属性的方法

新增标签对象.classList.add(新增属性值) 删除 标签对象.classList.remove(删除属性值) 替换标签对象.classList.replace(原始 , 新的) 切换标签对象.classList.toggle(切换属性值)有执行删除,没有执行新增 <body><div class "box box2 "></div&…

js DOM操作自定义属性

自定义属性&#xff1a;在日常开发中&#xff0c;html的内置属性已经无法满足程序员的日常开发&#xff0c;所以需要我们自己定义属性&#xff0c;H5给我们新增了自定义属性&#xff0c;为了防止自定义属性和内置属性引起歧义&#xff0c;所以H5规定自定义属性以data-开头定义。…

JavaScript之DOM操作获取元素、事件、操作元素、节点操作

什么是 DOM&#xff1f; 文档对象模型&#xff08;Document Object Model&#xff0c;简称 DOM&#xff09;&#xff0c;是 W3C 组织推荐的处理可扩展标记语言&#xff08;HTML或者XML&#xff09;的标准编程接口。W3C 已经定义了一系列的 DOM 接口&#xff0c;通过这些 DOM 接…

DOM 基础操作

文章目录 前言一、DOM 简介1.1 什么是 DOM 二、获取元素2.1 如何获取页面元素2.2 根据 ID 获取2.3 根据标签名获取2.4 通过 HTML5 新增的方法获取2.5 获取特殊元素&#xff08;body&#xff0c;html&#xff09; 三、事件基础3.1事件三要素3.2 执行事件的步骤3.3常见的鼠标事件…

[js]DOM操作

DOM也就是文档对象模型&#xff1a;document object model 主要用来动态操作HTML的元素节点&#xff0c;dom操作文档是居于DOM树为根据操作的。DOM树为html整体结构框架&#xff0c;其中有各种嵌套标签&#xff0c;最典型的就是以body为主容器&#xff0c;在body内部设置各种元…

DOM操作总结  (。♥ᴗ♥。) 哇!!

知识点 DOM 本质DOM 节点操作DOM 结构操作DOM 性能 前言 各种框架层出不穷&#xff0c;但DOM操作一直都会是前端工程师的基础&#xff0c;必备知识。 只会Vue和React等框架&#xff0c;而不懂DOM操作的前端程序员们。。。 DOM的本质&#xff1f; Do you know&#xff1f; 首…

JavaScript中DOM操作

Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 目录 DOM介绍 获取元素 操作元素 节点操作 DOM介绍 JavaScript一共包括三部分&#xff0c;分别是ECMAScript也就是Jav…