← [ BACK_TO_NOTES ]

关系型数据库学习路线

用阶段化路径组织关系型数据库学习,从基础概念到 SQL、设计、并发、优化、运维与 MySQL/PostgreSQL 对照实践。

#synthesis #growing #backend #database #mysql #postgresql

[!info] related notes

关系型数据库学习路线

[!abstract] 路线原则 按“关系与 SQL → Schema 与约束 → Page 与索引 → 查询计划 → 事务并发 → 日志恢复 → 产品差异与运维”学习。每阶段都用可复现实验验证,不把 ORM、索引口诀或某个数据库产品当完整数据库知识。

Stage 0:建立对象模型

阅读:

验收:能解释 DBMS 为什么不只是“把 JSON 写到磁盘”,以及关系模型、约束、事务和查询优化各解决什么。

Stage 1:SQL 与关系操作

  • DDL / DML / Query;
  • Filter、Join、Aggregation、Subquery;
  • WHERE vs HAVING;
  • Pagination 与排序。

练习:从两到三张业务表写出创建、查询、更新、Join 和聚合,不依赖 ORM 生成 SQL。

Stage 2:Schema、Key 与约束

验收:能把业务不变量写成 Unique、Foreign Key、Check 或事务逻辑,而不只放在接口文档里。

Stage 3:Page、B+Tree 与索引

[[database-pages-and-buffer-pool|Page / Buffer Pool]]
→ [[b-plus-tree-database-index|B+Tree]]
→ [[clustered-and-secondary-indexes|聚簇 / 二级索引]]
→ [[composite-and-covering-database-indexes|联合 / 覆盖索引]]
→ [[database-index-selectivity-and-cost|选择性与代价]]

练习:生成足够数据,对比全表扫描、单列索引、联合索引、覆盖索引和大量回表。

Stage 4:查询执行与优化

验收:能从 estimated vs actual rows、Scan Type、Join Order、Sort、Buffer / I/O 找到慢查询的主要成本,而不是只看“是否命中索引”。

Stage 5:事务、并发与恢复

先读 事务、并发与恢复总览,再深入:

练习:用两个连接复现 Non-repeatable Read、Lock Wait、Deadlock、Lost Update,并观察不同隔离级别和锁定读。

Stage 6:产品差异

重点不是谁“更好”,而是理解存储组织、类型系统、索引、隔离和运维语义为什么不同。

Stage 7:工程化与运维

  • Schema Migration / Backward Compatibility;
  • Backup / Restore / PITR;
  • Replication / Failover;
  • Connection Pool / Capacity;
  • Slow Query / Lock / Bloat / Vacuum;
  • 权限、Secret、审计和测试。

实践入口:

每个知识点的掌握层级

L1 Define    → 能说是什么
L2 Explain   → 能解释机制和因果
L3 Reproduce → 能用 SQL / 多连接实验复现
L4 Diagnose  → 能看计划、锁、日志和指标定位
L5 Design    → 能按不变量、负载和故障选择方案

面试高频至少达到 L2;简历项目中的关键数据库能力达到 L3~L4。

最小项目闭环

选择一个真实业务模块:

Requirement
→ ER / Schema / Constraints
→ Query Patterns
→ Index Design
→ Transaction Boundary
→ Migration
→ Integration Test
→ EXPLAIN and Load Test
→ Backup / Recovery Plan

比单独刷几十条索引口诀更能形成专业能力。

自测清单

  • 能从业务规则设计 Schema 和 Constraint。
  • 能从 Page I/O 解释 B+Tree。
  • 能设计联合索引并用实际计划验证。
  • 能解释 RC / RR、MVCC、锁和并发异常。
  • 能说明 WAL / Undo / Redo 与提交恢复。
  • 能复现 Lock Wait / Deadlock 并定位阻塞事务。
  • 能安全做 Schema Migration 和 Rollback。
  • 能把数据库与 Redis、Kafka、Elasticsearch、MinIO 的边界讲清。
创建于 2026/5/3 更新于 2026/9/18
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本