简体中文 | 繁體中文
- 内存和硬盘里的数据是用什么格式保存的?
- 它什么时候从内存移动到硬盘?
- 为什么一个数据表只能有一个主键?
- 回滚操作是怎么完成的?
- 索引是如何格式化的?
- 什么时候进行、怎么进行全表扫描?
- 准备好的语句使用什么格式保存的?
短一些,一个数据库是如何工作的?
我正在用 C 从头开始创建一个 sqlite 的副本,以了解数据库是如何工作的,并且记录我的流程。
- Part 1 - 介绍并设置 REPL
- Part 2 - 世界上最简单的 SQL 编译器和虚拟机(尚未翻译)
- Part 3 - 一个只能添加数据的、只有一个表的内存数据库(尚未翻译)
- Part 4 - 我们的第一次测试(以及 Bugs)(尚未翻译)
- Part 5 - 持久化到硬盘(尚未翻译)
- Part 6 - 游标抽象(尚未翻译)
- Part 7 - 介绍 B-树(尚未翻译)
- Part 8 - B-树叶子结点的格式(尚未翻译)
- Part 9 - 二分搜索和重复键(尚未翻译)
- Part 10 - 分割叶节点(尚未翻译)
- Part 11 - 递归搜索 B-树(尚未翻译)
- Part 12 - 扫描多级 B-树(尚未翻译)
- Part 13 - 分割后更新树节点(尚未翻译)
"What I cannot create, I do not understand." - 理查德·费曼