j.jiang
4ea833d0d8
perf: 业绩明细差额规则落库,切月份统计从数十秒降到亚秒级
业绩明细页的「差额合计」「差额异常备注」「差额(有/无)」原先都在查询时
逐行现算同一套规则链(生成 SQL 24KB/50KB,含 36 处 ops_jst_orders 关联
子查询)。整月 32.4 万行实测:联动统计 14.5~41.6 秒,页面主体 2.7~4.6 秒。
- 新增物化列 difference_reason_index / base_difference / has_difference,
以及 (report_month, difference_reason_index)、(report_month, has_difference)、
(report_month, store_name, platform) 三个索引和物化状态表;
- 新增 store-receipt:materialize-differences 命令(分批写入、支持 --dry-run
三项一致性校验,默认连带重算相邻月份以覆盖跨月备注);
- store-receipt:order-match:sync 成功后自动物化(--skip-materialize 可关闭);
- 页面聚合、联动统计、备注/差额筛选改读物化列,规则指纹不匹配或未物化时
自动回退实时表达式,功能不受影响;
- 月份下拉缓存 6 小时、指标卡聚合 5 分钟、联动统计 1 小时,缓存键带规则
指纹、物化状态与数据版本,物化后自动失效;
- 前端联动统计改为展开下拉时按需请求,页面加载不再同步统计整月。
规则表达式仍以 Pages 的静态方法为唯一口径,物化命令直接复用,不在 PHP 中
重写规则。本地用 7,907 行副本验证:三项一致性差异为 0,数字与实时口径完全
一致;联动统计 76ms→21ms、页面 56ms→41ms(同一数据)。详见
docs/业绩明细差额物化.md。
2026-10-26 16:36:13 +08:00
..
2026-10-16 22:27:46 +08:00
2026-10-17 12:49:39 +08:00
2026-10-19 17:53:14 +08:00
2026-10-15 18:13:24 +08:00
2026-10-15 10:22:35 +08:00
2026-10-15 13:52:30 +08:00
2026-09-21 10:58:21 +08:00
2026-10-14 13:47:00 +08:00
2026-10-18 14:05:40 +08:00
2026-10-14 13:47:00 +08:00
2026-10-24 16:29:22 +08:00
2026-09-23 11:09:24 +08:00
2026-09-02 18:22:17 +08:00
2026-10-26 14:08:36 +08:00
2026-10-26 16:36:13 +08:00
2026-10-16 23:54:03 +08:00
2026-10-20 10:10:29 +08:00
2026-09-22 14:49:09 +08:00
2026-09-08 17:33:47 +08:00
2026-10-17 20:54:13 +08:00
2026-10-18 22:27:16 +08:00
2026-10-19 11:19:27 +08:00
2026-10-21 11:20:58 +08:00
2026-09-22 14:49:09 +08:00
2026-10-21 16:24:15 +08:00
2026-10-21 16:24:15 +08:00
2026-10-26 13:43:22 +08:00
2026-10-24 21:10:46 +08:00