跑 SQLite 时我踩过的坑
Learning a few things about running SQLite
最近我在用 Django 搭建网站时选了 SQLite 做数据库。虽然大家都说小网站用 SQLite 没问题,但我还是发现了不少坑。比如没跑 ANALYZE 命令,查询慢到离谱;清理数据时因为锁表导致 Worker 崩溃;备份时甚至会被 OOM 杀掉。我也尝试了 restic 和 litestream 两种备份方案,还发现把表拆到多个数据库文件里也挺有用。虽然 SQLite 轻量,但真要跑起来,还是得懂点数据库运维的门道。
"我一直以为 SQLite 很简单,直到今天才发现 ANALYZE 命令的存在,而我已经用 SQLite 做 Web 项目四年了!"