536万专利库的性能优化经验
Impressive_Tower_550 · reddit · 2026-07-11
作者回顾了把一个 **SQLite/FTS5 专利数据库** 从 350 万条扩到 **536 万条**时的工程经验。项目背景是:作者是一名专利律师,2025 年 12 月开始写代码,并把这个站点当作免费、无注册、无广告的业余项目在维护。 ### 主要经验 - **PatentsView** 已于 2026 年 3 月迁移到 USPTO Open Data Portal,旧的 S3 下载链接已失效,且 abstracts 被拆到独立表中。 - 大批量导入后要跑 **ANALYZE**;一个相关 `EXISTS` 因为选错索引,查询时间从 **34 秒降到 0.16 秒**。 - **宽行更新很贵**:平均 19KB 的行导致大规模 `UPDATE` 几乎等于重写整张 119GB 表,因此更适合把可变字段拆到侧表。 - 在 FTS5 里,**AND / 短语交集** 比 OR 更可扩展;多个常见词的 OR 会把候选集放大到百万级,而 AND 能把结果压到几千条。 ### 当前状态 - 数据库已有 **536 万条专利(2010–2025)** - 图谱包含 **1.08 亿条 citation 边** - 已做 assignee 去重,并接入 USPTO 的 **AIPD AI-patent flags** - 下一步是给新增的 **190 万条记录**继续做 Nemotron 标注 作者还给出了演示站点:`patentllm.org`。