码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【数据库】MySQL的事务特性与隔离级别


    文章目录

    • 什么是事务?
    • 事务的四大特性
    • 为什么要设置事务的隔离级别?
    • MySQL事务隔离级别

    什么是事务?

    事务指一组操作是不可分割的最小单位,组成这组操作的各个单元,要么全部执行成功,要么全部执行失败

    事务的四大特性

    • 原子性: 一个事务的所有操作要么全部执行成功,要么全部执行失败,不会结束在中间某个环节,中间若发生错误,会回滚到事务开启前的状态
    • 一致性: 事务的执行前后,数据库的完整性没有被破坏,也就是数据库中的数据都得是合理的
    • 隔离性: 防止多个事务并发执行时由于事务交叉执行而导致数据的不一致
    • 持久性: 事务一旦提交,对数据的修改是永久的,数据就保存在硬盘中了

    为什么要设置事务的隔离级别?

    设置事务的隔离级别是为了保证多个事务并发执行的结果是可控的,更符合预期的,也就是防止别的事务影响到当前事务的一种策略

    事务并发执行可能带来的结果:

    丢失更新: 当一个事务修改了某个操作后,另一个事务对此值也进行了修改,那前一个事务读的值就不是它自己修改的值
    在这里插入图片描述
    脏读: 一个事务读到了另一个事务未提交的数据
    在这里插入图片描述
    不可重复读: 一个事务两次查询的结果不同,因为有别的事务在这中间对数据进行了修改
    在这里插入图片描述
    幻读: 一个事务连续读取两次,中间有别的事务执行了插入数据
    在这里插入图片描述

    幻读与不可重复读的区别:

    幻读侧重的是插入操作导致读取的结果集不同,不可重复读侧重的是修改操作导致读取的值不同

    MySQL事务隔离级别

    • 读未提交(READ UNCOMMITTED): 当前事务可以看到别的事务中未提交的数据
    • 读已提交(READ COMMITTED): 当前事务只能读取到别的事务已经提交的数据,解决了脏读
    • 可重复读(REPEATABLE READ): MySQL默认的事务隔离级别,保证当前事务多次读取的数据是一致的,解决了脏读和不可重复读
    • 串行化(SERIALIZABLE): 强制事务串行执行,也就是让事务按照顺序执行,保证多个事务互不干扰,解决了所有问题,但是效率低
  • 相关阅读:
    JVM 一张图带你了解内存分配过程 搞懂逃逸分析|标量替换|指针碰撞|空闲列表|TLAB
    Angular组件间传值有哪几种方法?
    tensorflow切片
    ABAP 选择屏幕多页签
    干测试这些年,去过阿里也去过小公司,给年轻测试员们一个忠告...
    FP64、FP32、FP16、int8
    代码逻辑修复与其他爬虫ip库的应用
    7-3 树的同构(附做题逻辑!!!)
    SH学习1
    C# OpenCVSharp图像入门_给绿幕图片视频加背景
  • 原文地址:https://blog.csdn.net/qq_58710208/article/details/127837966
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号