MySQL 的事务隔离级别(重点面试题)
MySQL 的事务隔离级别重点面试题⭐️⭐️⭐️SQL 标准定义了四种隔离级别MySQL 全都支持. 这四种隔离级别分别是1.读未提交(READ UNCOMMITTED)读未提交也叫未提交读. 该隔离级别的事务可以看到其他事务中未提交的数据.举个例子事务1是用来提交数据的事务2是用来查询数据的。事务1插入了一条新的数据但是事务1还没有提交commit。此时事务2查询数据库中的数据。但是事务2查询到的数据却包含了事务1未提交的数据。存在的问题脏读因为其他事务未提交的数据可能会发生回滚但是该隔离级别却可以读到我们把该级别读到的数据称之为脏数据这个问题称之为脏读.2.读已提交(READ COMMITTED)读已提交也叫提交读。该隔离级别的事务能读取到已经提交事务的数据该隔离级别不会有脏读的问题.举个例子存在的问题不可重复读但由于在事务的执行中可以读取到其他事务提交的结果所以在不同时间的相同 SQL 查询可能会得到不同的结果这种现象叫做不可重复读3.可重复读(REPEATABLE READ)事务不会读到其他事务对已有数据的修改即使其他事务已提交。即在同一个事务当中同一个 sql语句得到的结果是一样的。为什么是这样的和 MVCC机制有关。MVCC机制建议百度ai搜索MVCC机制如何实现 在同一个事务当中同一个 sql语句得到的结果是一样的MVCC 保证同一事务中同条 SQL 结果一致核心就两点事务第一次查数据时会生成一个「数据快照 可见性规则」Read View后续不管查多少次都复用这个快照和规则不看新数据即便其他事务修改数据并且完成提交当前事务看到的仍然是快照记录的旧版本数据。因此在当前事务内部同一条查询 SQL多次执行得到的查询结果始终保持一致。也就可以确保同一事务多次查询的结果一致但是其他事务新插入的数据是可以感知到的. 这也就引发了幻读问题.可重复读是 MySQL 的默认事务隔离级别。存在的问题幻读比如此级别的事务正在执行时另一个事务成功的插入了某条数据但因为它每次查询的结果都是一样的所以会导致查询不到这条数据。自己重复插入同一条数据时又失败(因为唯一约束的原因)。明明在事务中查询不到这条信息但自己就是插入不进去这个现象叫幻读.画图来理解问题分析事务2查询两次数据库表没有查询到 新的数据但是当事务2 插入 事务1 最新插入的记录insert语句就会执行失败。原因事务2的隔离级别是不可重复读 无法查看到事务1插入后的数据不知道这条记录已经存在所以事务2插入相同的记录插入失败这个问题就叫做幻读4.串行化(SERIALIZABLE)序列化事务最高隔离级别。存在的问题事务的执行效率低它会强制事务排序使之不会发生冲突从而解决了脏读不可重复读和幻读问题但因为执行效率低所以真正使用的场景并不多。一张图总结脏读读未提交存在的问题表现事务2 读到 事务1没有提交的数据。不可重复读读已提交存在的问题表现事务1执行插入数据的操作事务2两次读到的数据不一致。第一次是事务1还没提交事务2 读到了没有提交数据的记录第二次是事务1提交了数据。事务2 读到了提交了数据的记录幻读可重复读存在的问题表现事务2读取不到事务1修改后的数据插入数据事务2自己进行相同操作插入数据时会失败。结尾最后如果这篇博客能帮到你的请你点点赞有写错了写的不好的欢迎评论指出谢谢

相关新闻

阅读APP书源怎么导入?Yuedu书源三步配置攻略,帮你解锁小说自由

阅读APP书源怎么导入?Yuedu书源三步配置攻略,帮你解锁小说自由

阅读APP书源怎么导入?Yuedu书源三步配置攻略,帮你解锁小说自由 【免费下载链接】Yuedu 📚「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 找小说看到一半,书源突然失效、正文加载不出来——这种…

2026/10/6 6:58:00 阅读更多 →
VS Code配置第三方C库:从uthash到头文件与库链接实战

VS Code配置第三方C库:从uthash到头文件与库链接实战

1. 从“找不到头文件”说起:为什么我们需要第三方C库如果你用C语言写过稍微复杂一点的项目,比如一个需要解析JSON的小工具,或者一个需要管理大量用户数据的后台服务,你大概率会遇到一个经典场景:编译器报错&#xff0c…

2026/10/7 8:45:15 阅读更多 →
解决d3dcompiler_43.dll加载失败:从DirectX原理到系统修复全攻略

解决d3dcompiler_43.dll加载失败:从DirectX原理到系统修复全攻略

1. 问题现象与根源剖析 “错误代码126:加载d3dcompiler_43.dll失败”,这个弹窗对于经常玩游戏或者使用某些专业图形、设计软件的朋友来说,可能并不陌生。它就像一个不请自来的“拦路虎”,在你兴致勃勃准备进入游戏世界,或者正要打…

2026/10/7 8:44:30 阅读更多 →

最新新闻

从能聊到能办:Agent-Reach打通大模型工具调用最后一公里

从能聊到能办:Agent-Reach打通大模型工具调用最后一公里

最近我一直在鼓捣一个叫 Agent-Reach 的项目,说实话这个名字一开始就是我随手敲出来的代号,后来越做越觉得贴切——Reach,够得着。现在圈子里做个 Agent demo 很容易:让大模型接上对话窗口,能写诗、能编故事、能给你规…

2026/10/7 8:45:28 阅读更多 →
从连接到观测:Agent-Reach如何构建大模型智能体的触达层

从连接到观测:Agent-Reach如何构建大模型智能体的触达层

“Agent-Reach”这个名字,我第一次看到是在一个技术社群的讨论帖里。当时大家正为一个老大难问题吵得不可开交——LLM(大语言模型)驱动的智能体在真实业务场景里,如何稳定地触达各种外部系统和工具,而不是像个没头苍蝇…

2026/10/7 8:45:28 阅读更多 →
Java银行排号系统源码解析:从通信模型到并发取号实战

Java银行排号系统源码解析:从通信模型到并发取号实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:45:28 阅读更多 →
Allegro 0402封装建库全流程:焊盘设计到psm生成实战

Allegro 0402封装建库全流程:焊盘设计到psm生成实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:44:28 阅读更多 →
LeetCode 887鸡蛋掉落:动态规划到O(k log n)优化

LeetCode 887鸡蛋掉落:动态规划到O(k log n)优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:44:28 阅读更多 →
Metal ECO实战指南:用高层金属修复芯片时序违例

Metal ECO实战指南:用高层金属修复芯片时序违例

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:44:28 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →