还迷糊事务的并发问题以及隔离级别?

还迷糊事务的并发问题以及隔离级别?

事务并发问题

MySQL 服务端是允许多个客户端连接的,这意味着 MySQL 会出现同时处理多个事务的情况。

那么在同时处理多个事务的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题

  • 脏读

img

因为A回滚, B读取的内容出现问题

  • 不可重复读

img

因为B修改后提交事务, A读取的内容出现问题

  • 幻读

img

解决了不可重复读问题之后,前后读的内容一样,导致在别的事务提交修改后,出现幻读。

事务的隔离级别

img

  • 脏读:读到其他事务未提交的数据;
  • 不可重复读:前后读取的数据不一致;
  • 幻读:前后读取的记录数量不一致。

这三个现象的严重性排序如下:

img

--查看事务隔离级别
select @@transaction_isolation;
  • 读未提交(read uncommitted,指一个事务还没提交时,它做的变更就能被其他事务看到;
  • 读提交(read committed,指一个事务提交之后,它做的变更才能被其他事务看到;
  • 可重复读(repeatable read,指一个事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的,MySQL InnoDB 引擎的默认隔离级别
  • 串行化serializable ;会对记录加上读写锁,在多个事务对这条记录进行读写操作时,如果发生了读写冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行;

按隔离水平高低排序如下:

img

针对不同的隔离级别,并发事务时可能发生的现象也会不同。

img

  • 脏读演示

img

解决:

img

  • 不可重复读

img

解决:

img

  • 幻读

img

解决:

img

注意:事务隔离级别越高,数据越安全,但是性能越低。

参考:https://xiaolincoding.com/mysql/transaction/mvcc.html#%E4%BA%8B%E5%8A%A1%E6%9C%89%E5%93%AA%E4%BA%9B%E7%89%B9%E6%80%A7

【黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括】 https://www.bilibili.com/video/BV1Kr4y1i7ru/?p=55&share_source=copy_web&vd_source=fcae3ca58a4c2446a58b5aaacbaa4bbe

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

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

相关文章

Linux常见指令(二)

目录 常见指令 1.1more指令 1.2less指令 1.3tail指令 1.4时间相关的指令 1.5Cal指令 1.6find指令 1.7grep指令 1.8zip/unzip指令 1.9tar指令(重要) 1.10bc指令 常见指令 1.1more指令 语法 : more [ 选项 ][ 文件 ] 功能 &#xf…

力扣代码学习日记五

Problem: 283. 移动零 文章目录 思路解题方法复杂度代码 思路 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,…

269.【华为OD机试真题】解密犯罪时间(深度优先搜索(DFS)-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

Windows认证基础知识

Windows凭据 1.SSPI SSPI(Security Support Provider Interface,安全支持提供程序接口)是Windows操作系统中用于执行各种安全相关操作的公用API.SSPI的功能比较全面,可以用来获得身份验证、信息完整性校验、信息隐私保护等集成的安全服务。它是众多安全支持提供程…

华清远见作业第四十天——Qt(第二天)

思维导图: 编程: 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为…

等级保护是什么,为什么要做等级保护

一、 什么是等级保护: 等级保护是一种信息安全管理方法,用于对不同级别的信息和信息系统进行分类、评估和保护。它涉及将信息系统和信息按照其重要性和敏感性分级别,然后根据等级要求实施相应的安全措施,以确保信息的保密性、完整…

碳化硅晶片C面和硅面详解

SiC是一种Si元素和C元素以1:1比例形成的二元化合物,即百分之五十的硅(Si)和百分之五十的碳(C),其基本结构单元为 Si-C 四面体。 举个例子,Si原子直径大,相当于苹果,C原子…

EasyRecovery支持恢复多种类型的文件包括文档、表格、图片、音频、视频等

EasyRecovery易恢复是一款来自美国的数据恢复软件,已有35年(或38年)的历史。它支持不同存储介质的数据恢复,包括电脑系统硬盘、移动硬盘等,并针对不同的数据丢失原因提供了相应的恢复方案。 EasyRecovery易恢复是一款…

开源模型应用落地-工具使用篇-向量数据库(三)

一、前言 通过学习"开源模型应用落地"系列文章,我们成功地建立了一个完整可实施的AI交付流程。现在,我们要引入向量数据库,作为我们AI服务的二级缓存。本文将详细介绍如何使用Milvus Lite来为我们的AI服务部署一个前置缓存。 二、术…

CSS中伪元素和伪类的区别和作用?

伪元素:在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此,称为“伪”元素。例如: p::before {content:"第一章…

曝光一下不发年终奖的企业

原文连接: 曝光一下不发年终奖的企业 今日热帖,看到网上发布的一篇帖子:请曝光一下不发年终奖的企业! 结果留言上百条,除了私企,还有很多国企,银行等。而且还有一些我们认为应该很赚钱的企业&a…

记一次重大的问题解决

问题的模样 我们是需要的操作两个git仓库的的三个分支(此处第一个仓库简称:A(负责程序的第一层进入),第二个简称B(负责业务的执行)) 大致就是A的代码引用了B,B的代码引…

opengl 学习着色器

一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序:声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数,在main函数中我们处理所有的输入变量,并将结果输出到输出变量中。如下图: #ver…

Java之反射:Class类、调用构造方法、访问字段、访问方法

反射 什么是反射: ​ 反射是Java语法的一种高级特性,在“运行期间”对Java的类型信息进行检查,操作处理。例如:加载JDBC驱动类,Mybatis动态处理resultType,Spring根据配置创建Bean对象等使用场景都用反射…

CVE-2024-24565 CrateDB数据库任意文件读取漏洞

目录 前言 简介 ​编辑 环境搭建 漏洞复现 前言 本次介绍的漏洞不同与以往, 本次洞更多是适用于利用数据库提权。 利用数据库的导入导出数据的功能,我们往往可以将内部的一些敏感文件如/etc/passwd导入到数据库进行查看。也可以将数据导入到一些特…

SpringBoot + Thymeleaf打造VIP视频源解析网站

第一步&#xff1a;创建一个SpringBoot项目 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><dependency><groupId>org.springframework.bo…

2024年刷题记录

马上要开始找实习了&#xff0c;又开始重启刷题计划了&#xff01;加油冲冲冲&#xff01;刷题的顺序follow代码随想录的60天刷题计划&#xff01;感谢FuCosmo的总结&#xff01;之前都是按照C的语法进行刷题的&#xff0c;这次也同样使用C。 Day 1 数组 这些题过年前都刷过了…

动态规划-背包问题进阶-完全背包和多重背包

我们之前讲过01背包&#xff0c;现在我们讲讲背包问题的进阶&#xff0c;先说完全背包。 完全背包相对于01背包的区别在于商店每个物品的无限性&#xff0c;就是可以被拿无数次&#xff0c;而01背包每个物品只能拿一次。 完全背包问题中&#xff0c;每个物品可以选择无限次&a…

【二叉树】遍历及构造

1. 定义 二叉树是一种树形数据结构&#xff0c;由节点组成&#xff0c;每个节点最多有两个子节点&#xff0c;分别为左子节点和右子节点。二叉树具有以下性质&#xff1a; 每个节点最多有两个子节点&#xff0c;称为左子节点和右子节点。 左子节点和右子节点可以为空&#xff0…

命令执行讲解和函数

命令执行漏洞简介 命令执行漏洞产生原因 应用未对用户输入做严格得检查过滤&#xff0c;导致用户输入得参数被当成命令来执行 命令执行漏洞的危害 1.继承Web服务程序的权限去执行系统命会或读写文件 2.反弹shell&#xff0c;获得目标服务器的权限 3.进一步内网渗透 远程代…