【第一阶段总结】MySQL基础20天 —— 知识地图与避坑复盘

简介: 本文是MySQL基础20天学习的系统复盘,涵盖架构、索引、SQL优化、事务、锁五大模块,提炼核心知识地图与高频避坑点(如无索引导致全表锁、RR下快照读与当前读差异等),并附面试考点与自测清单,助力夯实底层原理,平稳进阶。(239字)

【第一阶段总结】MySQL基础20天 —— 知识地图与避坑复盘

20天,从架构到锁,你的 MySQL 基础框架搭好了吗?


大家好,我是一名拥有10年以上经验的DBA老兵。

到今天,整整20天。我们从 MySQL 的架构讲到了行锁,从一条 SELECT 怎么跑的讲到了事务隔离级别怎么选。

如果这20天你是一路跟下来的,先给自己鼓个掌——基础阶段最难的部分你已经扛过去了。

今天在做新知识输入前,咱们干三件事:

  1. 把20天的知识串成一张地图,看看它们之间怎么互相咬合
  2. 复盘几个反复出现的"坑王"
  3. 看看下一阶段要往哪走

一张图看懂20天的知识结构

这20天的内容可以分成五个大块,它们是层层递进的关系:



### 第一阶段:MySQL 基础(第1-20天)





① 认识MySQL(Day 1-4)
架构与通信流程→存储引擎
InnoDB vs MyISAM


② 索引与SQL优化(Day 5-14)
B+树索引原理→WHERE / JOIN 优化
子查询 · GROUP BY · ORDER BY · LIMIT 深分页


③ DML实战(Day 15-16)
INSERT 批量插入→UPDATE / DELETE 锁风险


④ 事务(Day 17-19)
ACID 事务基础→隔离级别
RC / RR / Serializable
脏读 · 不可重复读 · 幻读 诊断与修复


⑤ 锁(Day 20)
行锁 vs 全表锁定→Record · Gap · Next-Key Lock



▶ 第二阶段:进阶(Day 21-40)

MVCC → 死锁 → 慢查询 → EXPLAIN → 索引深入 ...



五个块之间有清晰的依赖关系:

  • 不理解 索引,就搞不懂 WHERE/JOIN 为什么慢,也理解不了行锁为什么挂在索引上
  • 不理解 事务,就看不懂隔离级别和锁的配合
  • 不理解 隔离级别,就不知道为什么 RC 下没有 Gap Lock、RR 下才有

所以如果你感觉哪天没跟上,回头补一下索引那几篇——那是一个分水岭。


五个"回头看最有价值"的知识点

如果这20天你只记住五件事,我推荐这五个:

1. WHERE 条件必须走索引,不只是为了快

这是我从 Day 6 一直念叨到 Day 20 的一句话。

不走索引的 UPDATE/DELETE,不是变慢的问题,是把整张表锁死的问题。Day 20 那个凌晨2点的故障就是典型——一个没索引的 status 字段,60万行全扫,锁了10分钟。

这个坑我见过不下十次。见过的DBA越多,越确认这是线上最频繁的锁故障,没有之一。

2. RR 下 DELETE 会删掉 SELECT 看不到的行

Day 19 讲的这个边缘场景,是所有知识点里最容易让人懵的。

原因一句话:SELECT 走快照读(读事务开始时的版本),DELETE 走当前读(读最新的已提交数据)。两个读的不是同一套数据,所以 SELECT 查不出来的行,DELETE 可能删得掉。这不是 bug,是 InnoDB 的设计。能理解这个的人,对 InnoDB 的事务模型才算真正入门了。

3. 隔离级别没有银弹

Day 18 和 Day 19 反复强调了一个观点:选隔离级别不是选"最好的",是选"你能接受哪个副作用"。

4. JOIN 不是越多越慢,而是不会用索引才慢

Day 10 讲过,NLJ 的效率取决于驱动表的选择和被驱动表的索引。很多人一看到 JOIN 就害怕,其实正确的 JOIN 比你写三个分开的查询再在代码里拼要高效得多。

5. 深分页不要用 OFFSET

Day 14 讲的分页优化,是我在工作里被问得最多的一个问题。limit 100000, 20 和 limit 20 的代价完全不是一个量级。游标分页 / 延迟关联,这两个方案记下来,面试和工作中都高频出现。


第一阶段的高频面试题汇总

这20天每篇都有面试考点,挑几个最高频的列出来,面试前看一眼:

关于索引:

  • B+树为什么适合做索引?(高度低、范围查询快、磁盘IO少)— Day 5
  • 什么情况下索引会失效?— Day 6
  • 最左前缀原则是什么?— Day 9

关于SQL:

  • 一条SELECT的执行流程是怎样的?— Day 8
  • JOIN的三种算法(NLJ/BNL/Hash Join)区别?— Day 10
  • GROUP BY 为什么慢?怎么优化?— Day 12
  • LIMIT 深分页怎么优化?— Day 14

关于事务:

  • 脏读、不可重复读、幻读的区别?— Day 19
  • RC和RR怎么选?— Day 18
  • MySQL RR级别到底防不防幻读?— Day 19

关于锁:

  • 行锁挂在什么上?没索引会怎样?— Day 20
  • Record Lock、Gap Lock、Next-Key Lock 的区别?— Day 20

进入第二阶段前的自测清单

在开始第二阶段之前,试着自己回答这几个问题。不需要全对,但如果超过3个答不上来,建议回头翻翻对应那天的文章:

  • [ ] SELECT * FROM t WHERE name = 'abc' 在 name 没有索引时,InnoDB 会做什么?(Day 5-6)
  • [ ] SELECT * FROM t1 JOIN t2 ON t1.id = t2.t1_id 中,MySQL 怎么决定先查哪张表?(Day 10)
  • [ ] 为什么 LIMIT 100000, 20 很慢,即使有索引?(Day 14)
  • [ ] RC 和 RR 在"事务内是否能看到别人刚提交的数据"上有什么不同?(Day 18)
  • [ ] 一张表没有索引,UPDATE 会锁住多少行?(Day 20)

下阶段预告

第二阶段(Day 21-40)将进入 MySQL 进阶,围绕三个方向展开:

  • InnoDB 内核 —— 事务、锁、日志的底层实现
  • SQL 优化进阶 —— EXPLAIN 深度解读、索引失效全场景
  • 运维基本功 —— 参数调优、Buffer Pool、表空间管理

第一阶段打的是"能用"的基础,第二阶段开始进入"懂原理"的深度。如果第一阶段有些概念还模糊,趁这两天休整翻一翻。基础越扎实,进阶越顺。


第二阶段即将开始——我们接着聊


有问题欢迎评论区交流,明天见!

相关文章
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL百日打怪升级第14天】 LIMIT 分页的性能优化:深分页到底慢在哪?
本文深入剖析MySQL深分页(如`LIMIT 100000,20`)性能瓶颈:本质是OFFSET导致全量扫描与丢弃,页码越深,扫描行数线性增长。详解三种实战优化方案——游标分页(高效稳定,需有序唯一字段)、延迟关联(兼容OFFSET,索引覆盖减回表)、范围分页(极简但场景受限),并附EXPLAIN对比与避坑指南。(239字)
197 6
|
6天前
|
数据采集 存储 算法
视频 RAG 中分块策略:基于停顿、滑动窗口与基于 LLM 的方法
本文探讨视频RAG中的核心挑战——如何为无时间结构的视频转录文本设计有效分块策略。对比传统文本分块,提出基于停顿、重叠窗口、递归切分及LLM驱动的主题分块四层方案,实现细粒度检索与全局理解兼顾,提升视频内容检索准确性与上下文完整性。
147 13
视频 RAG 中分块策略:基于停顿、滑动窗口与基于 LLM 的方法
|
6天前
|
自然语言处理 前端开发 安全
2026 世界杯钓鱼即服务平台攻击机理与防御体系研究
2026世界杯前夕,“Ghost Stadium”中文钓鱼即服务平台发动大规模攻击,涉案4.7–10亿美元,受害超4.7万人,窃取FIFA凭证2500+条,注册恶意域名超4000个。该平台采用React+Layui实现像素级克隆、SSO模拟与多语言适配,构建覆盖社交广告、搜索、IM的立体攻击网络。本文基于实证分析,提出检测、响应、溯源、治理闭环防御体系,强调跨机构协同与动态对抗。(239字)
158 10
|
6天前
|
SQL 人工智能 关系型数据库
AI Agent 混合检索选型:阿里云 AnalyticDB MySQL 向量+全文一站式方案
阿里云AnalyticDB MySQL版是面向AI Agent/RAG场景的一站式混合检索数据库,原生支持向量检索+全文搜索+结构化查询,单SQL实现三合一。延迟<10ms,成本降60%+,开发提效3倍,显著优于Milvus+Elasticsearch多组件架构。
168 6
|
6天前
|
人工智能 自然语言处理 安全
阿里云Coding Plan和Token Plan团队版有啥区别?百炼ai大模型平台如何选择?
阿里云百炼提供Coding Plan(个人向,按次计费、限频次、仅文本模型)与Token Plan团队版(企业向,按Credits计费、无频次限制、支持文本+图像多模态),适配不同场景与安全合规需求。免费领取7000万tokens:https://t.aliyun.com/U/fPVHqY
207 6
|
6天前
|
API
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态。
164 20
|
6天前
|
人工智能 缓存 弹性计算
阿里云服务器2核4G5M199元解析:独享型u1实例,性能、适用场景、购买和续费规则介绍
阿里云通用算力型u1实例(ecs.u1-c1m2.large)2核4G、5M带宽、80G ESSD Entry云盘,活动特惠价仅199元/年(官网价3498.36元),企业新老用户同享,续费同价至2027年3月31日,每人限购1台。该实例采用独享型架构,搭载Intel至强可扩展处理器,内网带宽1Gbit/s、收发包30万PPS、云盘IOPS 1万,性能稳定,适合企业官网、中小Web应用、轻量数据库及开发测试等场景。
|
4月前
|
人工智能 API 机器人
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
29775 253
|
30天前
|
JSON 自然语言处理 API
大模型应用:解锁大模型能力边界:Skill 与 Function Call的底层逻辑与实战应用.117
本文深入解析大模型能力扩展核心机制:Skill(技能)与Function Call(函数调用)的关系。Skill是标准化、可复用的能力单元(如计算器、天气查询),定义“能做什么”;Function Call是执行协议,实现“如何调用”。二者结合突破大模型在实时性、准确性、安全性上的局限,推动其从对话工具进化为可执行复杂任务的智能体。
307 6
|
6天前
|
人工智能 JSON 定位技术
GEO站内优化深度指南:内容、JSON-LD与知识地图FAQ
本文将围绕于磊老师的这一理论框架,深入探讨GEO站内优化的核心策略,特别是内容设置、JSON-LD应用以及知识地图构建等关键环节,以FAQ形式为读者提供专业、可信、有深度的指导。
118 2