个人工具(待办、记账、稍后读)的数据存储,我几乎都用 SQLite。理由很简单:它就是个文件

为什么是 SQLite

  • 零配置:一个 .db 文件,不需要装服务、不需要配账号
  • 单文件备份:拷走文件 = 全量备份
  • 标准 SQL:复杂查询(聚合、JOIN)和完整数据库一样
  • 够快:个人应用的数据量,性能完全不是问题

常用姿势

-- 建表
CREATE TABLE todos (
  id INTEGER PRIMARY KEY,
  title TEXT NOT NULL,
  done INTEGER DEFAULT 0,
  created_at TEXT DEFAULT (datetime('now'))
);

-- 查询未完成且带分类的
SELECT * FROM todos
WHERE done = 0 AND category = '工作'
ORDER BY created_at DESC;

和 JSON 文件对比

用 JSON 存数据简单直接,但一旦需要「查询某条件」就麻烦:要么全量读进内存过滤,要么手写索引。SQLite 用一行 SQL 解决,还自带事务保证一致性。

结论

如果你的个人工具数据量在百万行以内、单机使用,SQLite 就是最务实的选择。别急着上 Postgres,那可能才是杀鸡用牛刀。