摘要:
两个核心问题——“高并发下多个事务是否生成undo log多版本链”“undo log是否加锁后才生成”,是理解InnoDB事务一致性和并发控制的关键。本文结合高并发场景,从版本链本质、生成时机、锁与undo log的关联逻辑三个维度,给出精准且落地的解析。 一、核心结论先明确 版本链数量:同一行数 阅读全文
posted @ 2026-03-09 16:55
七星6609
阅读(34)
评论(0)
推荐(0)
摘要:
在MySQL InnoDB高并发写同一行数据的场景中,undo log版本链是保证事务原子性、实现MVCC的核心。当版本链中某条事务回滚时,InnoDB并非简单“删除”该事务的版本记录,而是通过回滚指针(roll_pointer) 逆向遍历版本链,将数据恢复到该事务执行前的“基准版本”;同时,回滚操 阅读全文
posted @ 2026-03-09 16:18
七星6609
阅读(95)
评论(0)
推荐(0)
摘要:
两阶段提交(2PC)是MySQL保证redo log(InnoDB层) 和binlog(Server层) 一致性的核心机制,其执行流程严格分为「Prepare阶段」和「Commit阶段」,每个阶段都有明确的核心动作、数据状态变化和异常处理逻辑。本文会结合InnoDB底层逻辑,拆解2PC从触发到完成的 阅读全文
posted @ 2026-03-09 15:53
七星6609
阅读(228)
评论(0)
推荐(0)
摘要:
关于事务持久性和一致性,接下来我会从为什么需要2PC、2PC完整执行流程、崩溃恢复的具体判断逻辑三个维度,把这个知识点讲透,让你不仅知其然,更知其所以然。 一、为什么必须引入两阶段提交? 首先要明确:redo log(InnoDB层)和binlog(MySQL Server层)是两个独立的日志体系, 阅读全文
posted @ 2026-03-09 15:07
七星6609
阅读(132)
评论(0)
推荐(0)
摘要:
InnoDB的更新事务是数据库中最核心、最复杂的操作之一,其执行过程不仅要保证数据修改的正确性,还要通过锁机制、日志体系、MVCC 等核心组件,兼顾并发性能与数据一致性(ACID)。本文将从SQL执行的底层视角,拆解一次UPDATE事务从发起到最终落地磁盘的完整流程,结合InnoDB的核心机制讲清每 阅读全文
posted @ 2026-03-09 14:39
七星6609
阅读(77)
评论(0)
推荐(0)
摘要:
在InnoDB中,“锁是加在索引上”是核心结论,但很多人只知其然不知其所以然——当多个事务通过不同索引操作同一行数据时,是否会产生锁冲突?答案是:大概率会产生冲突(尤其是写操作),但具体取决于索引类型、操作类型和锁机制。本文从索引结构、锁的绑定逻辑、冲突场景三个维度,拆解底层原理和实际影响。 一、核 阅读全文
posted @ 2026-03-09 14:17
七星6609
阅读(102)
评论(0)
推荐(0)
摘要:
在MySQL中,InnoDB引擎是唯一支持事务的存储引擎,事务也是保证数据一致性、解决并发数据访问问题的核心,更是MySQL技术面试的高频考点。本文将从InnoDB事务执行过程、事务隔离级别、事务并发异常三个核心维度,讲清原理、关联逻辑和面试常考点,内容偏实战和底层,适配技术面考察要求。 一、Inn 阅读全文
posted @ 2026-03-09 13:50
七星6609
阅读(119)
评论(0)
推荐(0)
摘要:
架构思维落地:拆、缓、防三板斧让系统扛住高并发流量 在高并发场景成为系统研发常态的当下,从秒杀大促到日常高频业务请求,如何让系统稳定承接流量、避免服务雪崩,成为每一位研发和架构师必须攻克的难题。很多人谈及高并发优化,只会零散提及Redis缓存、MQ解耦等技术,却缺乏体系化的架构思考。 其实高并发架构 阅读全文
posted @ 2026-03-09 12:35
七星6609
阅读(118)
评论(0)
推荐(0)
摘要:
要理解 Java 反射中 Class.forName() 和 ClassLoader 的区别,我们可以从核心作用、加载机制、初始化行为三个维度拆解,先通过通俗的定义建立认知,再结合代码示例和实际场景说明。 一、核心区别:加载 + 初始化 vs 仅加载 1. 先明确基础概念 类加载过程:JVM 加载类 阅读全文
posted @ 2026-03-09 11:44
七星6609
阅读(52)
评论(0)
推荐(0)

浙公网安备 33010602011771号