SQLite 的文件结构其实挺有意思,尤其是你碰上数据库损坏的时候。《SQLite 数据库文件被损坏之文件格式 1-lgq》这篇文章就专门聊这个,讲得还挺细。开头先从文件头讲起,再一步步拆解各个页结构,像是在剥洋葱。你要是平时爱鼓捣数据恢复或者自己写过数据库解析工具,这篇文章看起来就比较顺手,不会觉得枯燥。

文件页的分布、页头结构、B 树的存储方式……写得蛮有层次的。文章不像教科书那种死板风格,更多像老司机带着你撸源码的节奏。页大小offset 计算这些细节也没落下,看起来比较顺。

我觉得比较适合你在做 SQLite 工具开发、做文件修复工具,或者反编译类的工作时拿来参考一下。有些地方甚至能帮你快速定位问题,比如某页内容读取异常、page header不对,就知道文件头出问题了。

还有几个相关资源我也顺便贴上来了,比如SQLiteSpy查看器工具,还有讲打包数据库文件的文章,你有需要可以点进去看看:SQLite 数据库文件打包SQLiteSpy 文件查看工具

如果你平时对底层文件结构比较感兴趣,尤其是做和 SQLite 打交道的工具,那你可以多关注这类文。嗯,毕竟有时候搞懂格式,比多查几次文档还来得直接。