mysql

MySQL 中的并行复制原理与 slave_parallel_workers 调优

pren 发布于 2026-09-22

为什么需要并行复制 在 MySQL 主从架构中,主库的写入操作是并发的——多个事务可以同时执行。但从库的 SQL 线程在很长一段时间里只有一个,所有来自 relay log 的事务必须串行回放。这就导致了一个经典问题:主库写入压力稍大,从库就开始延迟,而且延迟会持续累积。 MyS...

阅读(39)评论(0)赞 (0)

MySQL binlog 三种格式的区别与主从复制中的选择

pren 发布于 2026-09-22

MySQL 的二进制日志(binlog)是数据库最重要的日志之一,它记录了所有对数据库执行更改的操作(不包括 SELECT、SHOW 等只读操作)。binlog 在数据恢复、主从复制、审计等场景中扮演着核心角色。而 binlog 的格式直接决定了日志记录的内容、体积以及对主从复制...

阅读(53)评论(0)赞 (0)

MySQL relay log 作用与复制中断排查实战

1

pren 发布于 2026-09-22

引言 在 MySQL 主从复制架构中,relay log(中继日志)是连接主库与从库数据一致性的关键纽带。很多开发者和运维人员在遇到主从延迟、复制中断时,往往第一时间去检查 binlog 或网络,却忽略了 relay log 这个“中间站”。本文将从 relay log 的本质作...

阅读(84)评论(0)赞 (0)

MySQL 中的锁类型:共享锁、排他锁、乐观锁与悲观锁

1

pren 发布于 2026-09-22

在 MySQL 面试中,锁机制是高频考点之一。无论是日常开发中的并发控制,还是面试中对事务隔离、死锁、性能优化的追问,都绕不开锁这个话题。很多候选人对“共享锁”“排他锁”“乐观锁”“悲观锁”这些名词耳熟能详,但一旦被追问“它们分别解决什么问题”“在 InnoDB 中如何实现”“什...

阅读(74)评论(0)赞 (0)

MySQL 索引失效的常见场景与底层原因解析

pren 发布于 2026-09-22

索引是 MySQL 性能优化的核心武器,但很多开发者都遇到过“明明建了索引,查询却依然慢如蜗牛”的情况。这背后往往是索引失效在作祟。本文将系统梳理索引失效的常见场景,并深入剖析其底层原因,帮助你从“知其然”到“知其所以然”。 一、为什么索引会失效? 在深入具体场景之前,有必要先理...

阅读(42)评论(0)赞 (0)

MySQL 中的 performance_schema 常用诊断表

pren 发布于 2026-09-22

performanceschema 是 MySQL 5.5 引入的一个较为特殊的数据库,它主要用于监控 MySQL 服务器的性能。与 informationschema 不同,performanceschema 提供的是底层运行时数据,包括等待事件、锁、语句执行阶段、内存分配等细...

阅读(56)评论(0)赞 (0)

MySQL 面试必问:B+ 树索引为什么比 B 树更适合数据库

pren 发布于 2026-09-22

在 MySQL 的面试中,有一个问题几乎成了“保留曲目”:为什么 MySQL 的 InnoDB 引擎选择 B+ 树作为索引结构,而不是 B 树? 很多人能背出“B+ 树矮胖、IO 少、范围查询快”这样的结论,但一旦面试官追问“具体为什么”,往往就卡壳了。 这篇文章将带你从底层原理...

阅读(46)评论(0)赞 (0)

MySQL CPU 飙高如何定位并解决?面试必问排查思路

pren 发布于 2026-09-22

CPU 飙高是 MySQL 运维和面试中的高频问题。很多人第一反应是“加索引”,但真实场景远没有这么简单。本文从面试实战角度出发,给出一套可落地的排查路径和解决方案。 一、先确认:真的是 MySQL 导致的吗? 别急着登进数据库。第一步是在操作系统层面确认 CPU 消耗的来源。 ...

阅读(43)评论(0)赞 (0)

MySQL 事务隔离级别与 MVCC 实现原理详解

pren 发布于 2026-09-22

在 MySQL 面试中,事务隔离级别和 MVCC(多版本并发控制)几乎是必问的考点。很多候选人对“可重复读”“幻读”等概念倒背如流,但一旦追问“MVCC 底层怎么实现的”“Read View 里到底存了什么”,往往就答不上来了。这篇文章从实战和面试的角度,把这两个知识点彻底讲清楚...

阅读(47)评论(0)赞 (0)

MySQL 中的 information_schema 元数据查询技巧

pren 发布于 2026-09-22

在 MySQL 面试中,informationschema 是一个高频考点。很多候选人能说出“它是一张保存元数据的库”,但一旦追问“怎么查某张表的所有索引”“怎么找出没有主键的表”“怎么统计每个库的数据量”,往往就卡住了。实际上,informationschema 是 MySQL...

阅读(45)评论(0)赞 (0)