optimize - 优化数据库
optimize 命令扫描和清理数据库中的孤立资源、损坏的文件引用和不可访问的远程链接,提高数据库质量。
hyc optimize [--online]| 参数 | 说明 | 可选 |
|---|---|---|
--online | 检测远程资源的在线可用性 | 是 |
孤立资源(总是检测)
Section titled “孤立资源(总是检测)”指在数据库中存在但未被任何文章引用的资源:
检测条件:
- 在 Asset 表中存在
- 没有 PostAsset 关联(未被任何文章引用)
- 或本地文件在文件系统中不存在
本地文件缺失
Section titled “本地文件缺失”资源在数据库中注册但文件已被删除:
# 数据库记录:# - @/assets/image.jpg
# 但实际文件已删除# 系统报告为「缺失文件」远程链接无效(可选 —online)
Section titled “远程链接无效(可选 —online)”使用 HTTP HEAD 请求检测远程资源可用性:
hyc optimize --online
# 检测所有远程资源的 HTTP 状态# - 200 OK: 资源可用# - 404 Not Found: 链接已失效# - 其他: 无法访问使用 --online 会发送 HTTP 请求,速度较慢(10 个并发)。对于大量远程资源的项目,可能需要几秒钟。
仅清理本地孤立资源
Section titled “仅清理本地孤立资源”hyc optimize检测远程链接可用性
Section titled “检测远程链接可用性”hyc optimize --online需用户确认的操作
Section titled “需用户确认的操作”当发现可清理的资源时,系统会询问您的确认:
⚠️ 发现可清理的资源:
孤立资源: 1. @/assets/temp-image.jpg 2. @/assets/unused-icon.png
缺失文件: 3. @/content/posts/old/image.jpg
是否删除这些资源? (y/n)输入 y 确认删除,或 n 取消。
不同类型资源的处理
Section titled “不同类型资源的处理”# 直接在文件系统中删除@/assets/image.jpg → 被删除
# 重新运行优化,清理数据库记录hyc optimize# 删除孤立的数据库条目# 仅标记为不可用,不删除# 您可以:# 1. 更新链接为新的 URL# 2. 或从文章中移除引用# 3. 然后重新运行 optimize
# 手动编辑文章移除失效链接hyc edit "article"# 删除 
# 重新扫描hyc optimize --online优化操作会删除文件引用:
- 确认无需这些资源后再删除
- 建议事先运行
hyc backup创建备份 - 删除操作通常可以后悔(手动恢复备份)
清理已删除文章的资源
Section titled “清理已删除文章的资源”# 所有引用已被删除的文章的资源# 仍保留在数据库中hyc optimize
# 系统将检测并清理这些资源移除无法访问的 CDN 资源
Section titled “移除无法访问的 CDN 资源”hyc optimize --online
# 检测到特定 CDN 已失效# 您可以选择:# 1. 删除引用# 2. 更换为新的 CDN URL压缩备份前清理
Section titled “压缩备份前清理”# 备份前清理孤立资源可减小备份大小hyc optimize
# 验证结果hyc stats
# 创建优化后的备份hyc backup津公网安备 12011402001353 号