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


    文章目录

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

    什么是事务?

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

    事务的四大特性

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

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

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

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

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

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

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

    MySQL事务隔离级别

    • 读未提交(READ UNCOMMITTED): 当前事务可以看到别的事务中未提交的数据
    • 读已提交(READ COMMITTED): 当前事务只能读取到别的事务已经提交的数据,解决了脏读
    • 可重复读(REPEATABLE READ): MySQL默认的事务隔离级别,保证当前事务多次读取的数据是一致的,解决了脏读和不可重复读
    • 串行化(SERIALIZABLE): 强制事务串行执行,也就是让事务按照顺序执行,保证多个事务互不干扰,解决了所有问题,但是效率低
  • 相关阅读:
    [Qt基础内容-08] Qt中MVC的M(Model)
    Three.js使用技巧
    OpenGL(十五)——Qt OpenGL三种不同的纹理滤波方式、光照、物体的移动
    servlet执行详解
    AlmaLinux 文件拷贝 cp命令用法示例
    C++ Protobuf
    全球地表水数据集JRC Global Surface Water Mapping Layers v1.4
    微信公众号网页登录开发测试步骤详解
    记一次 Visual Studio 2022 卡死分析
    LVDS、LVPECL、CML三种高速逻辑电平的比较
  • 原文地址:https://blog.csdn.net/qq_58710208/article/details/127837966
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号