Skip to content

数据库术语知识库 - 快速导航 ​

章节索引 ​

01-索引与查询优化 ​

覆盖索引、回表、最左前缀原则、索引下推、索引合并、索引选择性、基数、统计信息、执行计划、参数嗅探、索引提示

02-存储与物理结构 ​

页分裂、页合并、碎片、堆表、行溢出、预读、索引组织表

03-事务与并发控制 ​

ACID、MVCC、事务隔离级别、锁粒度、间隙锁、死锁、乐观锁、悲观锁

04-日志与持久化 ​

WAL、Redo Log、Undo Log、检查点、双写缓冲

05-架构与设计模式 ​

垂直分表、水平分表、读写分离、物化视图、临时表、派生表

06-特定功能索引 ​

全文索引、空间索引、哈希索引、位图索引、函数索引

常见问题速查 ​

问题场景参考术语
查询很慢如何优化执行计划、覆盖索引、索引选择性
如何设计复合索引最左前缀原则、基数、索引选择性
索引为什么不生效回表、统计信息、参数嗅探
如何减少回表次数覆盖索引、索引下推
存储过程性能不稳定参数嗅探
事务并发冲突MVCC、事务隔离级别、死锁
崩溃恢复原理WAL、Redo Log、Undo Log、检查点
数据量太大如何拆分垂直分表、水平分表、读写分离
文本搜索优化全文索引
地理位置查询空间索引

学习路径建议 ​

初级阶段: 覆盖索引 → 回表 → 最左前缀原则 → 执行计划 → 基数

中级阶段: 索引选择性 → 索引下推 → 统计信息 → MVCC → 事务隔离级别

高级阶段: WAL → Redo Log → Undo Log → 检查点 → 死锁检测算法

专家阶段: 垂直分表 → 水平分表 → 全文索引 → 空间索引 → 源码分析

使用技巧 ​

每个术语都包含可运行的 SQL 示例,建议在本地测试环境验证。遇到具体问题时,先通过"常见问题速查"定位相关术语,再深入阅读详细内容。

术语笔记之间有关联链接,可以顺着知识网络扩展学习。


🎯 快速查找 ​

按主题查找 ​

性能优化相关 ​

原理理解相关 ​

按优先级学习 ​

⭐⭐⭐ 必学(日常开发) ​

  1. 覆盖索引
  2. 回表
  3. 最左前缀原则
  4. 执行计划
  5. 基数

⭐⭐ 推荐(性能调优) ​

  1. 索引选择性
  2. 索引下推
  3. 统计信息
  4. 参数嗅探
  5. 页分裂

⭐ 进阶(深入理解) ​

  1. 索引合并
  2. 索引提示

📖 学习建议 ​

第一天:基础概念 ​

  • 阅读:覆盖索引、回表
  • 实践:在测试环境创建索引,观察 EXPLAIN 输出

第二天:索引设计 ​

第三天:查询分析 ​

  • 阅读:执行计划
  • 实践:分析复杂查询的执行计划

第四天:高级优化 ​

第五天:问题诊断 ​

第六天:存储原理 ​

  • 阅读:页分裂
  • 实践:对比顺序插入和随机插入的性能

第七天:综合应用 ​

  • 复习所有术语
  • 实践:优化一个真实的慢查询案例

🔗 关联学习路径 ​

路径一:索引优化专家 ​

[基数](01-索引与查询优化/基数.md) 
  ↓
[索引选择性](01-索引与查询优化/索引选择性.md)
  ↓
[最左前缀原则](01-索引与查询优化/最左前缀原则.md)
  ↓
[覆盖索引](01-索引与查询优化/覆盖索引.md) → [回表](01-索引与查询优化/回表.md)
  ↓
[索引下推](01-索引与查询优化/索引下推.md)
  ↓
[执行计划](01-索引与查询优化/执行计划.md) (验证优化效果)

路径二:性能调优专家 ​

[执行计划](01-索引与查询优化/执行计划.md) (发现问题)
  ↓
[统计信息](01-索引与查询优化/统计信息.md) (分析原因)
  ↓
[参数嗅探](01-索引与查询优化/参数嗅探.md) (诊断不稳定问题)
  ↓
[索引提示](01-索引与查询优化/索引提示.md) (临时应急)
  ↓
长期解决方案(更新统计信息/重建索引)

路径三:存储引擎深入 ​

[页分裂](02-存储与物理结构/页分裂.md)
  ↓
页合并
  ↓
碎片
  ↓
行溢出
  ↓
B+Tree 完整理解

📝 下一步计划 ​

短期(本周) ​

  • [x] 完成“存储与物理结构”章节全部 7 个术语
  • [x] 完成“事务与并发控制”章节全部 8 个术语
  • [x] 完成“日志与持久化”章节全部 5 个术语
  • [x] 完成“架构与设计模式”章节全部 6 个术语
  • [x] 完成“特定功能索引”章节全部 5 个术语

中期(本月) ​

  • [x] 完成所有章节的基础术语(共42个术语)
  • [ ] 添加更多实际案例
  • [ ] 补充 PostgreSQL 和 SQL Server 的对比

长期 ​

  • [ ] 添加可视化图表(Mermaid 流程图)
  • [ ] 创建交互式练习
  • [ ] 编写综合实战案例

💡 使用技巧 ​

1. 搜索技巧 ​

在 IDE 中使用全局搜索(Ctrl+Shift+F):

  • 搜索术语名:覆盖索引
  • 搜索别名:covering index
  • 搜索标签:database/index

2. 关联跳转 ​

每个术语笔记底部都有“关联术语”部分,点击可以快速跳转到相关概念。

3. 代码实验 ​

每个术语都包含可运行的 SQL 示例,建议:

  1. 复制到本地测试环境
  2. 执行并观察结果
  3. 修改参数,理解边界情况

4. 笔记整理 ​

建议为每个术语创建自己的学习笔记:

## 我的理解
(用自己的话解释)

## 实践案例
(项目中遇到的实际问题)

## 常见误区
(踩过的坑)

## 相关问题
(面试或工作中被问到的问题)

Released under MIT License.