Tags: jyf2100/echotrace
Tags
feat: 重构消息查询层,实现多路归并与 Keyset 游标分页,实现聊天页面的图片自适应渲染,新增隐私协议和使用条款 主要改动: 1. **核心算法重构**:使用 **多路归并** 算法 + 最小堆重写消息读取逻辑,实现分片数据库的流式合并,大幅降低内存占用。 2. **分页性能优化**:废弃低效的 `OFFSET` 分页,全面迁移至 **Keyset Pagination** (`WHERE sort_seq < ?`),确保百万级数据下的读取性能维持 O(1)。 3. **接口统一与抽象**:抽离通用方法 `_mergeSortMessages`,支持双向排序(ASC/DESC)、时间范围过滤及流式回调,统一了 UI 展示、搜索与导出功能的底层实现。 4. **SQL 索引修复**:移除 SQL 语句中的 `COALESCE(sort_seq, 0)`,确保 SQLite 能正确命中 `_SORTSEQ` 物理索引,避免全表扫描。 5. **导出功能增强**:导出逻辑适配 ASC 正序游标并支持分批回调,彻底解决超大会话导出时的内存溢出 (OOM) 问题。
PreviousNext