尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
MySQL 事务与隔离级别——MVCC、行锁、间隙锁
事务和锁是 MySQL 面试中最核心的部分。隔离级别、MVCC 原理、行锁间隙锁是高频考点。一、四大隔离级别-- READ UNCOMMITTED读未提交-- 脏读读到另一个事务未提交的数据-- 不可重复读同一事务中两次读到不同数据-- 幻读同一事务中读到新增的行-- READ COMMITTED读已提交解决脏读-- 不可重复读、幻读可能发生-- REPEATABLE READ可重复读MySQL 默认解决脏读不可重复读-- 幻读可能发生InnoDB 通过间隙锁解决-- SERIALIZABLE串行化解决所有问题性能最差二、MVCC 原理MVCC 多版本并发控制InnoDB 通过它实现读不阻塞写、写不阻塞读。每一行数据有多个历史版本undo log 中 每个读操作只能看到某个时间点之前的版本 核心字段 DB_TRX_ID最后修改这条数据的事务 ID DB_ROLL_PTR指向 undo log 的指针 ReadView读视图 记录当前活跃的事务 ID 列表 判断数据版本对当前事务是否可见三、Row Lock Gap Lock-- 行锁SELECT*FROMproductWHEREid1FORUPDATE;-- 间隙锁REPEATABLE READ 级别锁住记录之间的间隙-- 假设表中有 id1,3,5 三条记录SELECT*FROMproductWHEREid1ANDid5FORUPDATE;-- 锁住 id 在 (1,5) 之间的间隙阻止插入 id2,3,4-- Next-Key Lock Row Lock Gap Lock-- 锁住记录本身 前面的间隙 觉得有用的话点赞 关注【张老师技术栈】吧每周更新 Java/Python/MySQL 实战干货不让你白来。
RELATED

相关推荐

MonkeyCode、Cursor、Claude Code 与 Copilot 的选型思路对比

MonkeyCode、Cursor、Claude Code 与 Copilot 的选型思路对比

AI 编程工具没有绝对优劣,只有是否匹配你的场景。本文从产品定位、协作流程、安全合规和成本结构四个维度,比较四类常见选择。## 一、先看产品定位| 工具 | 主要定位 | 更适合谁 ||---|---|---|| MonkeyCode | 规范驱动的研发流程平台 | 需要流程治理的团…

📅 2026/9/11 11:29:17
3个颠覆性功能:为什么ImageGlass正在重新定义图片浏览体验

3个颠覆性功能:为什么ImageGlass正在重新定义图片浏览体验

3个颠覆性功能:为什么ImageGlass正在重新定义图片浏览体验 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smooth browsing across Win…

📅 2026/9/11 23:00:58
5大核心功能深度解析:WSABuilds在Windows上构建完整Android生态的实战指南

5大核心功能深度解析:WSABuilds在Windows上构建完整Android生态的实战指南

5大核心功能深度解析:WSABuilds在Windows上构建完整Android生态的实战指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or…

📅 2026/9/12 7:29:37
MORE NEWS

更多资讯

📰

弱电智能化VISIO图标集:让方案图纸颜值与效率兼得

做弱电智能化方案这些年,我有个特别深的体会:方案水平怎么样,一半靠设备选型,另一半就靠图纸颜值。而图纸颜值上不去,绝大多数时候不是因为你不会画,而是因为你没有一套好用又统一的VISIO图标。今天这篇想聊…

📰

全屋智能售后怎么选?官方与第三方服务对比与避坑指南

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

📰

WebGIS智慧校园开发准备全指南:技术选型、数据与坐标系统一

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

📰

电商平台用户画像标签体系搭建指南:从维度拆分到落地实操

做电商平台的数据工作,早晚都会被问到一个问题:平台上那些"高价值用户"到底有多少,能不能把他们都圈出来做个专属活动?如果你翻了半天报表,最后只能给出一句"大概两三万吧",那基本就说…

📰

LabVIEW与SQL Server数据库互联实操:从ODBC配置到数据入库全指南

这次要聊的是LabVIEW与SQL Server互联。老实说,很多刚开始做上位机开发的朋友,听到“LabVIEW引用数据库”会觉得门槛很高,以为要懂一堆底层接口、要写复杂的C代码。实际上,LabVIEW连接SQL Server早就不是什么新鲜玩法,…

📰

层次分析法、熵值法、博弈论确定指标权重

我们在进行综合评价的时候需要确定每个指标的权重,权重设置的差异会导致出现完全不同的评价结果,然而权重的确定是一个令人头疼的事情。权重的确定方法主要可以分成三大类,主观赋权以及客观赋权,以及主客观相结合的方式。这里我们…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬