原实现每封匹配消息单独 UPDATE + GetByID + seqOf 全量扫描(含大 附件 raw_data),手机整批标记已读(60+ 封)时产生 60 次写 + 180 次全量读,连接被长时间占住,其他连接响应被推送洪泛阻塞。 优化:收集目标状态后合并为单条 UPDATE ... IN 批量写;推送更新 直接用已加载列表的序号与目标状态(buildFlagsUpdateAt),不再 重复查库。实测 19 封批量 STORE 服务器耗时 372µs。
原实现每封匹配消息单独 UPDATE + GetByID + seqOf 全量扫描(含大 附件 raw_data),手机整批标记已读(60+ 封)时产生 60 次写 + 180 次全量读,连接被长时间占住,其他连接响应被推送洪泛阻塞。 优化:收集目标状态后合并为单条 UPDATE ... IN 批量写;推送更新 直接用已加载列表的序号与目标状态(buildFlagsUpdateAt),不再 重复查库。实测 19 封批量 STORE 服务器耗时 372µs。