MyQL 事务隔离级别解析

隔离级别脏读不可重复读幻读
未提交读可能可能可能
已提交读不可能可能可能
可重复读不可能不可能可能
可串行化不可能不可能不可能

当我们谈论数据库事务的隔离级别时,经常会听到“脏读”、“不可重复读”和“幻读”这三个术语。下面我会尽量用通俗的语言来解释它们:

一、脏读(Dirty Read):

想象你正在读一本小说,而这本书的作者在你阅读的过程中还在不断地修改内容。你可能读到了一个情节,但过一会儿再回去看,发现这部分内容已经被作者修改了。这就是“脏读”。在数据库中,如果一个事务读取了另一个未提交事务的修改,就可能读取到“脏”数据,因为这些数据可能随时会被回滚,导致你之前读取的数据是无效的或不准确的。

二、不可重复读(Non-repeatable Read):

这有点像是在一个多人编辑的文档中工作。你读取了一个段落,然后过了一会儿再次读取相同的段落,但发现内容已经被其他人修改了。在数据库中,如果一个事务在读取某些数据后,另一个事务对这些数据进行了修改(UPDATE或DELETE),那么当第一个事务再次读取这些数据时,就会发现数据与之前的读取结果不一致。这就是“不可重复读”。

三、幻读(Phantom Read):

这更像是你在一个图书馆里找书。你首先数了一下书架上书的数量,然后过了一会儿你再次数,发现书的数量变了,尽管你没有移动或添加任何书籍。在数据库中,如果一个事务在读取某个范围内的记录时,另一个事务插入或删除了某些记录,导致第一个事务在再次读取该范围时看到了之前不存在的“幻影”记录或发现某些记录消失了。这就是“幻读”。

四、总结

  • 脏读读取的是未提交的数据。
  • 不可重复读读取的是同一行数据,但数据内容已被其他事务修改。
  • 幻读针对的是多行数据,由于其他事务的插入或删除操作,导致满足条件的行数发生了变化

为了解决这些问题,数据库提供了不同的事务隔离级别,如读未提交、读已提交、可重复读和串行化。每个隔离级别都有其优缺点,选择哪个级别取决于应用的具体需求和性能考虑。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式Shiro,SpringBoot项目Shiro整合Redis

分布式Shiro,SpringBoot项目Shiro整合Redis 重要 Begin 你的SpringBoot项目已经使用了Shiro,并且可以正常使用。本篇文章的主要目的是将Shiro保存在服务器内存中的session信息改为使用Redis保存session信息 重要 End 正文开始 0、前情概要 由于shiro…

Python通过数据验证功能在Excel文件中创建下拉列表

Excel表格的灵活性和功能性深受各行各业人士的喜爱。在Excel表格中,下拉列表功能是提升数据录入效率与准确性的一个重要利器,能够为用户提供预设的选择项,限制输入范围,避免手动输入错误,还能够简化数据录入过程&#…

Rust : windows下protobuf尝试

此前dbpystream库是用python开发 web api。今天在rust中试用一下protobuf。 一、 protobuf编译器下载 具体见相关文章。没有编译器,protobuf无法运行。 windows参见: https://blog.csdn.net/wowotuo/article/details/139458846?spm1001.2014.3001.550…

推荐系统三十六式学习笔记:原理篇.内容推荐05|从文本到用户画像有多远?

目录 从文本开始构建用户画像一、结构化文本1、TF-IDF2、TextRank3、内容分类:4、实体识别5、聚类6、词嵌入 二、标签选择1、卡方检验2、信息增益 总结 对于一个早期的推荐系统来说,基于内容推荐离不开用户构建一个初级的画像,这种初级的画像…

【数据结构】栈的应用

目录 0 引言 1 栈在括号匹配中的应用 2 栈在表达式求值中的应用 2.1 算数表达式 2.2 中缀表达式转后缀表达式 2.3 后缀表达式求值 3 栈在递归中的应用 3.1 栈在函数调用中的作用 3.2 栈在函数调用中的工作原理 4 总结 0 引言 栈(Stack)是一…

MySQL A表的字段值更新为B表的字段值

MySQL A表的字段值更新为B表的字段值 准备数据表 create table person (id int unsigned auto_increment comment 主键 primary key,uuid varchar(32) not null comment 系统唯一标识符32个长度的字符串,mobile varchar(11) null comment 中国国内手机号,nickn…

使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU)

✨点击这里✨:🚀原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!) 使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU) &#x1f31…

二叉查找树详解

目录 二叉查找树的定义 二叉查找树的基本操作 查找 插入 建立 删除 二叉树查找树的性质 二叉查找树的定义 二叉查找树是一种特殊的二叉树,又称为排序二叉树、二叉搜索树、二叉排序树。 二叉树的递归定义如下: (1)要么二…

10. MySQL 用户

文章目录 【 1. 权限表 】1.1 user 权限表1.1.1 用户列1.1.2 权限列1.1.3 安全列1.1.4 资源控制列 1.2 db 表用户列权限列 1.3 tables_priv 表1.4 columns_priv 表1.5 procs_priv表 【 2. 用户管理 】2.1 创建用户 CREATE USER2.2 用户的登陆、退出登陆 MySQL退出 MySQL 2.3 重…

Java常见错误-内部类-简要分析

Java常见错误-内部类-简要分析 概念分类成员内部类(非静态内部类)静态内部类成员内部类和静态内部类区别 局部内部类匿名内部类 注意事项总结 概念 ​ 内部类,顾名思义,就是在一个类的内部定义的类。这种设计允许将一个类的实现细…

深度学习-10-测试

深度学习-10-测试 本文是《深度学习入门2-自製框架》 的学习笔记,记录自己学习心得,以及对重点知识的理解。如果内容对你有帮助,请支持正版,去购买正版书籍,支持正版书籍不仅是尊重作者的辛勤劳动,也是鼓励…

Web前端ES6-ES13笔记合集(下)

#### 五.ES10新特性 ##### 1. Object.fromEntries > Object.fromEntries()方法允许你轻松地将键值对列表转换为对象 js const arr [["name", "kerwin"], ["age", 100]]; console.log(Object.fromEntries(arr))//{name: kerwin, age: 100} …

pytorch 笔记:pytorch 优化内容(更新中)

1 Tensor创建类 1.1 直接创建Tensor,而不是从Python或Numpy中转换 不要使用原生Python或NumPy创建数据,然后将其转换为torch.Tensor直接用torch.Tensor创建或者直接:torch.empty(), torch.zeros(), torch.full(), torch.ones(), torch.…

树莓派【Raspberry Pi-64位】3b+,Pi4J 2.0入门

一.前言: 前面的文章讲解了树莓派在centos7 arm64版本下的使用,用一款智能小车为例子,做了代码实践。 由于centos7不再维护,且Pi4J 1.x版本也因为WiringPi 的局限,Pi4J从1.x升级为2.x.所以本专栏的技术栈也将进行调整,A.从centos7系统回到Raspberry Pi-64位系统。B.Pi4…

4.通用编程概念

目录 一、变量与常量1.1 变量1.2 常量 二、遮蔽三、数据类型3.1 标量类型1. 整型2. 浮点型3. 布尔类型4.字符类型 3.2 复合类型1. 元组2. 数组 四、函数五、语句和表达式六、函数的返回值 一、变量与常量 1.1 变量 在Rust中默认的变量是不可变的,如果修改其值会导致…

《青少年编程与数学》课程方案:4、课程策略

《青少年编程与数学》课程方案:4、课程策略 一、工程师思维二、使命感驱动三、价值观引领四、学习现代化五、工作生活化六、与时代共进 《青少年编程与数学》课程策略强调采用工程师思维,避免重复造轮子,培养使命感,通过探索兴趣、…

编程语言有哪些?这些希望你都知道

编程语言有哪些 编程语言有很多种,包括但不限于以下几种: Java:当今最普遍使用的开发语言之一,简单易学,且跨平台性非常强,对网络开发的支持令人称赞。Python:语法清楚,干净&#…

【Vue】如何提供访问vuex的数据

文章目录 一、提供数据二、访问Vuex中的数据通过$store访问的语法1)模板中使用2)组件逻辑中使用3)js文件中使用 三、通过辅助函数 - mapState获取 state中的数据 一、提供数据 State提供唯一的公共数据源,所有共享的数据都要统一…

[office] 快速删除excel中的空行和列的方法 #其他#学习方法#经验分享

快速删除excel中的空行和列的方法 用户在网上下载好的Excel表格打开之后发现有很多空白行,怎么样将这些空白行或单元格一次性删除掉呢?下面教大家在Excel中用定位一次性可以把空白行删除 用户在网上下载好的Excel表格打开之后发现有很多空白行,怎么样将…

Vue3 使用audio播放语音+监听播放语音完成事件

需求&#xff1a;输入一段文字&#xff0c;点击语音框&#xff0c;将本地语音&#xff08;提前准备好的&#xff09; 播放出来 播放中效果 代码 <div class"listConAI" click"handleOpenSpeech" ><imgsrc"../../../../assets/images/blueo…