数据库术语知识库 - 快速导航
章节索引
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 示例,建议在本地测试环境验证。遇到具体问题时,先通过"常见问题速查"定位相关术语,再深入阅读详细内容。
术语笔记之间有关联链接,可以顺着知识网络扩展学习。
🎯 快速查找
按主题查找
性能优化相关
原理理解相关
按优先级学习
⭐⭐⭐ 必学(日常开发)
⭐⭐ 推荐(性能调优)
⭐ 进阶(深入理解)
📖 学习建议
第一天:基础概念
第二天:索引设计
第三天:查询分析
- 阅读:执行计划
- 实践:分析复杂查询的执行计划
第四天:高级优化
第五天:问题诊断
第六天:存储原理
- 阅读:页分裂
- 实践:对比顺序插入和随机插入的性能
第七天:综合应用
- 复习所有术语
- 实践:优化一个真实的慢查询案例
🔗 关联学习路径
路径一:索引优化专家
[基数](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 示例,建议:
- 复制到本地测试环境
- 执行并观察结果
- 修改参数,理解边界情况
4. 笔记整理
建议为每个术语创建自己的学习笔记:
## 我的理解
(用自己的话解释)
## 实践案例
(项目中遇到的实际问题)
## 常见误区
(踩过的坑)
## 相关问题
(面试或工作中被问到的问题)