Skip to content

数据库管理

⚠️ 免责声明:本文档由 GLM4.7 自动生成,内容可能存在错误或不完整之处。请以人工书写的官方文档为准


数据库管理功能提供数据库后端切换、迁移、健康检查等功能。

功能说明

小说助手支持两种数据库后端:

  • JSON - JSON 文件存储(默认,兼容旧版本)
  • SQLite - SQLite 数据库(推荐,性能更好)

使用方法

命令:切换数据库后端

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 切换数据库后端
  3. 选择要使用的后端
  4. 选择是否立即迁移数据

命令:运行数据库迁移

在 JSON 和 SQLite 之间迁移数据:

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 运行数据库迁移
  3. 查看迁移向导
  4. 确认迁移

命令:查看数据库状态

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 查看数据库状态
  3. 查看状态信息

显示:

  • 后端类型
  • 文件数量
  • 路径映射数
  • 数据库大小(SQLite)

命令:数据库健康检查

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 数据库健康检查
  3. 查看检查结果

命令:优化数据库(仅 SQLite)

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 优化数据库
  3. 等待优化完成

命令:比较后端数据

比较 JSON 和 SQLite 后端的数据差异:

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Andrea Novel Helper: 比较后端数据
  3. 查看差异报告

数据库后端对比

JSON 后端

优点:

  • 兼容旧版本
  • 可读性强
  • 易于备份
  • 无需额外依赖

缺点:

  • 性能较低
  • 大文件时速度慢
  • 占用空间大

SQLite 后端

优点:

  • 性能优异
  • 支持大数据量
  • 占用空间小
  • 支持索引和优化

缺点:

  • 需要原生模块支持
  • 不易直接查看

迁移流程

迁移向导

迁移向导会显示:

┌─────────────────────────┐
│ 数据库迁移向导          │
├─────────────────────────┤
│ 源后端: JSON            │
│ 目标后端: SQLite        │
│                         │
│ 扫描文件中...           │
│ 发现 100 个文件         │
│                         │
│ [开始迁移]  [取消]      │
└─────────────────────────┘

迁移内容

迁移包括:

  • 文件内容数据
  • 路径映射关系
  • 时间戳信息

迁移结果

成功后会显示:

  • 迁移的文件数量
  • 遇到的问题(如有)

配置选项

在 VS Code 设置中搜索 AndreaNovelHelper.database

设置项说明默认值
backend数据库后端类型json
autoMigrate自动迁移false
sqlite.enableWAL启用 WAL 模式true
sqlite.cacheSize缓存大小2560
sqlite.enableMmap启用内存映射true

SQLite 配置

WAL 模式

Write-Ahead Logging 模式:

  • 提高并发性能
  • 减少锁定
  • 推荐启用

缓存大小

  • 单位:KB
  • 默认:2560 KB (2.5 MB)
  • 增大可提高性能

内存映射

  • 启用后使用内存映射 I/O
  • 提高大文件读取性能
  • 推荐启用

自动迁移

配置自动迁移

设置 autoMigratetrue

  • 切换后端时自动迁移
  • 无需手动确认

配置变化提示

如果未启用自动迁移:

  • 切换后端时会提示
  • 可以选择立即迁移或稍后

健康检查

检查项目

健康检查会检查:

  • 数据库文件是否存在
  • 文件是否可访问
  • 数据结构是否完整
  • 性能是否正常

检查结果

  • ✓ 通过 - 一切正常
  • ⚠ 问题 - 发现问题,会详细说明

数据库优化

优化内容

SQLite 优化包括:

  • 重建索引
  • 清理碎片
  • 分析查询计划
  • 压缩数据库

优化时机

建议在以下情况下优化:

  • 大量操作后
  • 性能明显下降时
  • 定期维护

常见问题

迁移失败怎么办?

  1. 查看错误信息
  2. 确保源数据完整
  3. 检查磁盘空间
  4. 尝试重新迁移

切换后端后数据丢失?

迁移后数据应该保持一致:

  • 使用"比较后端数据"检查
  • 如果有问题,从备份恢复
  • 可以来回切换后端

SQLite 性能问题?

  1. 检查配置(WAL、缓存)
  2. 运行优化命令
  3. 考虑调整缓存大小

如何备份数据?

  • JSON: 直接复制 .anh-fsdb 目录
  • SQLite: 复制 tracking.db 文件
  • 或使用版本控制

相关功能