mysql数据库事务脏读、不可重复度、幻读详解

news2025/1/25 4:31:55

文章目录

  • 1 事务隔离级别
  • 2 脏读
  • 3 不可重复度
    • 3.1 解决了脏读的问题。
    • 3.2 有不可重复度的问题
  • 4 幻读
    • 4.1 没有脏读和不可重复读的问题
    • 4.2 有幻读的问题
    • 5 serializable

1 事务隔离级别

  • read-uncommitted:脏读、不可重复度、幻读,均可出现。安全性低,性能高。
  • read-committed(oracle默认):不可重复度、幻读。避免了脏读。
  • repeatable-read(mysql默认):幻读。避免了脏读、不可重复度。
  • serializable:避免了脏读、不可重复度、幻读。安全性高,性能低。

2 脏读

开启两个窗口:

  • 查询事务默认的隔离级别
 select @@transaction_isolation;
  • 设置隔离级别为read-uncommitted
set session transaction isolation level read uncommitted;

在这里插入图片描述

  • 开启事务
 start transaction;

在这里插入图片描述

  • 脏读就是读到了其他事务,未提交的数据。read-uncommitted
  • 查询数据的时候会有错误。

3 不可重复度

  • 设置事务隔离级别为read-committed
set session transaction isolation level read committed;

3.1 解决了脏读的问题。

在这里插入图片描述

3.2 有不可重复度的问题

在这里插入图片描述

4 幻读

  • 设置隔离级别
set session transaction isolation level repeatable read;

4.1 没有脏读和不可重复读的问题

在这里插入图片描述

4.2 有幻读的问题

在这里插入图片描述

5 serializable

设置事务隔离级别为serializable,脏读、不可重复读、幻读的问题都不存在,但是性能最低。

set session transaction isolation level serializable;

串行化:事务并发时,A事务提交后,B事务才能提交。

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

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

相关文章

HBase架构篇 - Hadoop家族的天之骄子HBase

HBase的基本组成结构 表(table) HBase 的数据存储在表中。表名是一个字符串。表由行和列组成。 行(row) HBase 的行由行键(rowkey)和 n 个列(column)组成。行键没有数据类型&…

《花雕学AI》06:抢先体验ChatGPT的九个国内镜像站之试用与综合评测

最近ChatGPT持续大火,大家们是不是在网上看到各种和ChatGPT有趣聊天的截图,奈何自己实力不够,被网络拒之门外,只能眼馋别人的东西。看别人在体验,看别人玩,肯定不如自己玩一把舒服的啊。 上一期&#xff0…

2.5d风格的游戏模式如何制作

文章目录一、 介绍二、 绘制瓦片地图三、 添加场景物体,添加碰撞器四、 创建玩家五、 创建玩家动画六、 玩家脚本七、 2d转换成2.5d八、 “Q”键向左转动视角、“E”键向右转动视角九、 下载工程文件一、 介绍 制作一个类似饥荒风格的2.5d游戏模板。 2.5D游戏是指以…

Spring之循环依赖

什么事循环依赖 很简单的定义就是就如有两个对象A类,B类,其中两个类中的属性都有对方。 A类 public class A{private B b;}B类 public class B{ private A a; }在Spring中,什么情况下会出现循环依赖 如果要了解循环依赖,首先…

基于matlab进行雷达信号模拟

一、前言此示例说明如何将基本工具箱工作流应用于以下方案:假设有一个工作频率为 4 GHz 的各向同性天线。假设天线位于全局坐标系的原点。有一个目标,其非波动雷达横截面为0.5平方米,最初位于(7000,5000,0&…

Linux下使用ClamAV病毒查杀

一、介绍Clam AntiVirus 是一款 UNIX 下开源的 (GPL) 反病毒工具包,专为邮件网关上的电子邮件扫描而设计。该工具包提供了包含灵活且可伸缩的监控程序、命令行扫描程序以及用于自动更新数据库的高级工具在内的大量实用程序。该工具包的核心在于可用于各类场合的反病…

CompletableFuture使用详解(IT枫斗者)

CompletableFuture使用详解 简介 概述 CompletableFuture是对Future的扩展和增强。CompletableFuture实现了Future接口,并在此基础上进行了丰富的扩展,完美弥补了Future的局限性,同时CompletableFuture实现了对任务编排的能力。借助这项能力…

2023最新快速单机创建三主三从Redis集群

单机搭建Redis集群 本次采用Redis的5.0.14版本在单机centos8上搭建Redis三主三从集群. 1.创建6个文件夹 一个文件夹代表一个节点,同时也代表每个节点的端口号. 2.下载Redis文件并解压 使用命令: #下载Redis 可以将5.0.14替换成自己想要的版本 wget http://download.redis…

JavaScript面向对象编程再讲

JavaScript面向对象编程再讲 JavaScript支持的面向对象比较复杂,和其他编程语言又有其独特之处。本文是对以前博文 JavaScript的面向对象编程 https://blog.csdn.net/cnds123/article/details/109763357 补充。 概述 这部分是JavaScript面向对象的概括&#xff0c…

计算机网络微课堂1-3节

目录 1. TCP/TP协议​编辑 2. 3.调制解调器 4.因特网的组成 5.电路交换 6.分组交换 重要常用 7.报文交换 8.总结电路交换 报文交换和分组交换 9. 1. TCP/TP协议 2. ISP 网络提供商 ISP的三层 国际 国家 和本地 3.调制解调器 什么是调制解调器,它存在的…

稳压二极管工作原理、重要参数意义和典型电路参数计算

稳压二极管的工作原理:稳压二极管也叫稳压管,它在电路中一般起到稳定电压的作用,也可以为电路提供基准电压值。稳压二极管使用特殊工艺制造,这种工艺使它在反向击穿时仍然可以长时间稳定工作,不损坏,而工作…

macbook触摸板怎么按右键

苹果MacBook电脑触摸板如何右键,对于初次使用MacBook电脑的朋友,是一个小难题,其实MacBook电脑右键打开快捷辅助菜单的方法很简单。我们在MacBook电脑的【系统设置】—【触控板】中对触控板进行设置后可使用不同方式实现鼠标右键。 方法一&am…

形式与语言与自动机总结-----图灵机

图灵机的设计 图灵机的组成: 图灵机包括三部分:输入输出表带 ,上面包括一些空格和输入字符,读写头可以向两个方向移动,每一次可以读取一个字符并对他进行改写,改变状态根据状态转移函数来确定。 状态转移函数: 图灵机…

【树】你真的会二叉树了嘛? --二叉树LeetCode专题Ⅳ

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

C# 文件操作

一 File\FileInfo类 在.NETFramework提供的文件操作类基本上都位于System.IO的命名空间下。操作硬盘文件常用的有两个类File\FileInfo. File类主要是通过静态方法实现的,FileInfo类是通过实例方法。 File类核心成员: FileInfo类的实例成员提供了与Fil…

Redis实现分布式锁的7种方案,及正确使用姿势!

redis学习笔记 7种方案前言 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的地方,欢迎大家指出…

c盘如何扩展分区?C盘满了这么处理就对了

案例分享:“c盘如何扩展分区?我的电脑C盘前几天都还有50GB,这几天发现越来越小了,电脑也越来越卡顿了,为什么我的C盘突然就满了呢?那么我该怎么解决这个问题?请求大神的帮助!” 在使…

C++内存管理详解

大家好,这里是bang_bang,今天来分享下内存管理的知识。 目录 1.C/C内存分布 2.C内存管理方式 2.1new/delete操作内置类型 2.2new/delete操作自定义类型 3.operator new与operator delete函数 3.1operator new 3.2operator delete 4.new和delete的实现…

【C++进阶之路】初始C++语法(上)

文章目录前言一.命名空间命名冲突命名空间的使用展开命名空间作用域限定符访问作用域命名空间的合并命名空间的嵌套二.输入输出打印流插入运算符输入流提取运算符三.缺省参数全缺省半缺省跨文件缺省函数参数缺省参数的使用格式四.函数重载参数个数不同参数类型不同参数顺序不同…

ubuntu20 qt6.4.3 ustc镜像安装 xdma

文件下载地质 命令 ./qt-unified-linux-x64-4.5.2-online.run --mirror https://mirrors.ustc.edu.cn/qtproject没有镜像就下砸错误hash verification while downloading,this is temporary error,please retry 部分安装器不支持 --mirror cd ~/workspace/dma_ip_drivers/X…