7AA7 Blog

#MySQL

7AA7 技术博客 · #MySQL 下的全部文章。

VectorQ 2026-10-19 UID:96

事务与隔离级别:脏读、不可重复读与幻读

Database

ACID 四个字母里,A、C、D 在工程上相对好验证:原子性靠日志回滚,持久性靠刷盘策略,一致性是业务与约束共同保证的结果。真正让人头疼的是 I——隔离性。它的定义本身就带着妥协:完全隔离等价于串行执行,性能不可接受;降低隔离又会引入各种读写异常。工程…

831 0 6
VectorQ Published · 2026-10-19
Elowen 2026-10-17 UID:81

慢查询优化:从 EXPLAIN 开始排查

Database

慢查询排查是个有固定套路的活:先从慢查询日志里找到嫌疑人,用 EXPLAIN 看它打算怎么执行,判断问题出在索引、写法还是表结构上,改完再验证。整条链路里,EXPLAIN 是承上启下的一步——它不能告诉你语句有多慢,但能告诉你为什么慢。这篇文章把这条链路的每…

334 0 6
Elowen Published · 2026-10-17
逻辑熵 Logic 2026-10-16 UID:93

MySQL 索引入门:B+ 树、联合索引与最左前缀

Database

索引是数据库性能问题里被讨论得最多、也最容易被误解的一层。很多线上慢查询的根因不是"没加索引",而是"加了索引但没用上",或者"用了索引但代价比想象中高"。想把索引用明白,得先理解它在磁盘和内存之间是怎么组织数据的,再回头看 SQL 语句里那些看似随…

484 0 4
逻辑熵 Logic Published · 2026-10-16
Schema 李 2026-10-09 UID:130

数据库连接池原理:连接数不是越多越好

Database

线上服务响应变慢,第一反应往往是"连接池不够用,调大最大连接数"。调完可能确实缓解,也可能更慢,甚至把数据库拖垮。连接池的参数不是孤立的,它连接的是应用侧并发模型与数据库侧执行模型两端。理解两端的成本结构,才能知道连接数该定多少。 一条连接的…

2.2k 0 9
Schema 李 Published · 2026-10-09
Elowen 2026-09-26 UID:81

大表 DDL 的在线变更方案

Database

给一张几百 GB 的表加个字段,开发以为是一行 SQL 的事,DBA 知道这可能是几小时的磁盘 IO 和一次业务抖动。搞清楚 DDL 背后的执行路径,才能判断一次变更到底需要多少资源、会不会阻塞业务。 DDL 为什么会锁表 原因有两类。 第一类:元数据锁(MDL)。任何…

2k 0 19
Elowen Published · 2026-09-26