20260605140004_6a2265e402a90.webp

第一步:打开数据库

  1. DB Browser for SQLite 打开 blog.db

第二步:记录压缩前数据库大小

  1. "执行 SQL" 选项卡,执行:

查询数据库当前大小(字节)。

SELECT (SELECT page_count FROM pragma_page_count()) * (SELECT page_size FROM pragma_page_size()) AS db_size_bytes;

记录当前数据库大小数值。


第三步:执行维护

  1. 工具 → 完全性检查 结果显示 ok 继续,否则数据库有问题。
  2. 工具 → 优化
  3. 工具 → 压缩数据库main,点 OK。

第四步:记录压缩后数据库大小

  1. 再次执行:

查询数据库当前大小(字节)。

SELECT (SELECT page_count FROM pragma_page_count()) * (SELECT page_size FROM pragma_page_size()) AS db_size_bytes;

和之前数据库数值对比,查看压缩效果。


第五步:导出备份

文件 → 导出 → 数据库到 SQL 文件,文件名建议带日期,例如 blog.sql

blog.db 是二进制格式,SQLite 的原始数据库文件,直接被程序使用。
blog.sql 是纯文本格式,里面全是 SQL 语句,例如 CREATE TABLEINSERT INTO 等,用文本编辑器就能打开查看。

各自的用途:

blog.db 直接复制一份就是备份,恢复时直接替换文件即可,简单快捷。
blog.sql 是通用格式,可以导入到任何 SQLite 数据库,也方便查看数据内容,适合做归档备份或迁移。

建议两种都保留:

  • 平时备份直接复制 blog.db,恢复最方便。
  • 重要节点(比如升级前)额外导出一份 blog.sql,作为长期归档。

添加新记录后:

  • 写入更改 = 常规保存
  • 执行查询和工具菜单里的维护操作(完全性检查、优化、压缩数据库),这些操作压缩数据库时已经自动提交。

工具菜单:

功能 解释
压缩数据库(D) 写入磁盘 修改文件结构
优化(0) 写入文件 更新统计信息表
完全性检查(I) 不修改文件 只读操作
快速完全性检查(Q) 不修改文件 只读操作
外键检查(F) 不修改文件 只是界面显示
显示行数(R) 不修改文件 只是界面显示

执行频率建议:

  • 平时:不需要维护
  • 删除了大量文章、评论、附件后:执行一次
  • 重要操作前(升级、改代码):先备份

出处:http://xblog.itxgo.com/article.php?id=73
版权:本文采用 CC BY-NC-SA 4.0 协议,完整转载请注明来源。