优化京东账单首次汇总与候选查询的覆盖索引 #394

Merged
WuYongJie merged 1 commits from fix/wuyongjie-jd-bill-covering-index into main 2026-10-19 18:14:38 +08:00
Owner

原因与修改

实际验收发现京东/京喜首次汇总和候选项仍会超时。原汇总索引缺少店铺和账单项目字段;平台划分要读取店铺名,导致聚合读取包含 JSON 的宽行。保留所有现有索引,新增包含上述筛选列的覆盖索引,使普通汇总和候选查询无需回表读取 JSON。

仅新增共享镜像索引迁移并让现有直接测试经过该迁移,不改数据行、金额公式、权限或连接配置。SQL 强制 ALGORITHM=INPLACE、LOCK=NONE,元数据锁最多等待五秒。

验证

  • 相关直接测试 6 tests / 54 assertions 全通过。
  • 独立本地 MariaDB 11.4 容器原生 DDL 通过。
  • 完整 diff 自审,源表结构和导入版本状态已备份。
  • 上线后核对 EXPLAIN 的覆盖索引、首次与重复汇总、候选和翻页耗时,并记录新增索引占用。

该索引会增加磁盘与导入维护开销;以生产实际验证的耗时和尺寸评估收益,不声称本次释放固定内存。

## 原因与修改 实际验收发现京东/京喜首次汇总和候选项仍会超时。原汇总索引缺少店铺和账单项目字段;平台划分要读取店铺名,导致聚合读取包含 JSON 的宽行。保留所有现有索引,新增包含上述筛选列的覆盖索引,使普通汇总和候选查询无需回表读取 JSON。 仅新增共享镜像索引迁移并让现有直接测试经过该迁移,不改数据行、金额公式、权限或连接配置。SQL 强制 ALGORITHM=INPLACE、LOCK=NONE,元数据锁最多等待五秒。 ## 验证 - 相关直接测试 6 tests / 54 assertions 全通过。 - 独立本地 MariaDB 11.4 容器原生 DDL 通过。 - 完整 diff 自审,源表结构和导入版本状态已备份。 - 上线后核对 EXPLAIN 的覆盖索引、首次与重复汇总、候选和翻页耗时,并记录新增索引占用。 该索引会增加磁盘与导入维护开销;以生产实际验证的耗时和尺寸评估收益,不声称本次释放固定内存。
WuYongJie added 1 commit 2026-10-19 18:14:23 +08:00
WuYongJie merged commit 8e4bf99483 into main 2026-10-19 18:14:38 +08:00
WuYongJie deleted branch fix/wuyongjie-jd-bill-covering-index 2026-10-19 18:14:38 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#394
No description provided.