图谱索引慢:大图谱的性能优化
为什么会慢
Logseq OG 版本每次启动时需要扫描整个图谱目录、解析所有 Markdown 文件、重建块索引、链接图、搜索数据库——这些操作的耗时随页面数线性增长:
- 500 页:几秒
- 2000 页:十几秒
- 5000 页:30-60 秒
- 10000+ 页:可能几分钟
立即可做的:重建索引
如果不是冷启动慢,而是搜索结果不全、块引用显示不对、某些链接突然断了——可能是索引损坏了。重建索引:
- Settings → 搜索「index」→ 找到「Rebuild search index」
- 点击 → Logseq 会重新扫描整个图谱
- 等待完成(大图谱可能需要几分钟)
重建索引期间会弹出进度条,不要强制关闭 Logseq。
优化一:清理无用页面
很多慢启动其实是因为图谱里有大量已经废弃的页面——你很久以前创建过,里面没有链接、没有反向引用、内容也没用了。
怎么找出来:
- 图谱视图里的孤立节点(没连线的小节点)
- 搜索面板里搜
status:: #废弃(如果你标记过) - 手动浏览页面树,找那些你一眼看到就想不起「这是什么」的页面
清理:确认页面里没有值得保留的内容后,直接删除。删除后确认没有任何其他页面反向引用它(删除前看一下右侧面板)。
优化二:关闭不常用功能
Settings → 关闭你不用的功能:
- Journals(日记模式不用的话关掉)
- Flashcards(不用闪卡关掉)
- Whiteboards(不用白板关掉)
- Sync(用文件同步的话关掉官方 Sync)
每个关闭的功能都能减少一点启动负担。
优化三:减少不必要的属性和标签
属性和标签虽然好用,但每个多出来的都会增加索引和查询的开销:
- 标签名统一(不要同时用
#ML#ml#机器学习三个) - 属性值用有限选项(比如 priority 只用 high/medium/low,不要用太多自定义值)
- 删除不再使用的自定义属性
优化四:考虑切换到 DB 版本
如果你的 OG 图谱已经 5000+ 页、启动要等 30 秒以上,强烈建议切换到 DB 版本:
- DB 版本启动直接读取数据库,秒开
- 搜索和查询速度提升一个数量级
- 10000+ 页面无压力
- 切换很简单:DB 版本直接打开 OG 图谱目录即可
OG 版本的架构决定了它的性能天花板在那里——不是 Logseq 优化能解决的。
长期策略
- 定期归档 — 把很久以前的笔记(比如 2023 年以前的)导出归档到单独的 Git 仓库,从主图谱里移除
- 分库管理 — 超大图谱分成几个小图谱(比如「学习」「工作」「读书」各一个),各自独立维护
- 保持精简 — 新建页面前先搜一下有没有相关内容,尽量在已有页面上扩展而不是新建
不推荐的做法
- 删除索引文件 — 可能导致更严重的损坏
- 同时开多个图谱 — 每个都要全量索引,更慢
- 用清理工具删 assets 里的图片/PDF — 删对了是空间优化,删错了会导致块里的嵌入失效。只有确认没有任何块引用时再删