Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念,它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别,分别是:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。

  1. 读未提交(READ UNCOMMITTED)

    这是最低的隔离级别。在这个级别下,一个事务可以读取另一个尚未提交的事务的数据。这可能导致脏读(Dirty Read)、不可重复读(Non-repeatable Read)和幻读(Phantom Read)。

  2. 读已提交(READ COMMITTED)

    这是大多数数据库系统的默认隔离级别(但不是MySQL的默认级别)。在这个级别下,一个事务只能读取另一个事务已经提交的数据。这可以防止脏读的发生,但仍然可能出现不可重复读和幻读。

  3. 可重复读(REPEATABLE READ)

    在这个级别下,一个事务在整个过程中可以多次读取同一数据并看到同样的内容,即使其他事务修改了该数据。这是MySQL的默认隔离级别。在InnoDB存储引擎中,通过多版本并发控制(MVCC)来实现这一隔离级别,从而避免了脏读和不可重复读,但仍然可能出现幻读。

  4. 串行化(SERIALIZABLE)

    这是最高的隔离级别。在这个级别下,事务序列化执行,即每个事务完全串行地执行,没有任何并发执行。这可以避免所有并发问题,但会大大降低系统的并发性能。
    不同的隔离级别有不同的性能和并发控制特点。选择合适的隔离级别需要在性能和并发控制之间做出权衡。在实际应用中,通常根据业务需求和系统性能要求来选择合适的隔离级别。
    *

另外可以参考:百度安全验证

具体模拟一下。

事务的四个特性(ACID)

一般来说,衡量事务必须满足四个特性:ACID,即 原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

  • 原子性(Atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

  • 一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

  • 隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable),下面会详细说明。

  • 持久性(Durability):事务处理结束后,对数据的修改就是永久的,会持久化到硬盘上,即便系统故障也不会丢失。

数据库的三大范式:

参考:百度安全验证

相关推荐
懒羊羊不懒@14 小时前
【数据库 | 基础】DDL语句以及数据类型
数据库
泷羽Sec-静安14 小时前
Less-9 GET-Blind-Time based-Single Quotes
服务器·前端·数据库·sql·web安全·less
李宥小哥14 小时前
结构型设计模式2
网络·数据库·设计模式
猫头虎15 小时前
永久免费白嫖多个域名,一键托管Cloudflare,免费申请SSL加密证书,轻松建站、搭建线路伪装
服务器·开发语言·网络·数据库·python·网络协议·ssl
真正的醒悟15 小时前
什么是安全设备组网
服务器·数据库·php
小哈里15 小时前
【软考架构】2025H2系统架构设计师考试复习.jpg(软件架构、软件工程、数据库、Web开发、高项)
数据库·架构·系统架构·软件工程·后端开发
B站_计算机毕业设计之家16 小时前
深度学习:Yolo水果检测识别系统 深度学习算法 pyqt界面 训练集测试集 深度学习 数据库 大数据 (建议收藏)✅
数据库·人工智能·python·深度学习·算法·yolo·pyqt
赵文宇18 小时前
站在MySQL肩膀上快速入门PostgreSQL,开源社区最喜爱的关系数据库
mysql·postgresql
wei_shuo18 小时前
全场景自动化 Replay 技术:金仓 KReplay 如何攻克数据库迁移 “难验证“ 难题
数据库·自动化·king base
葡萄城技术团队18 小时前
打破误解!MongoDB 事务隔离级别深度实测:快照隔离竟能防住 8 种异常?
数据库