优化沉睡回店统计索引.sql
1.13 KB
-- ============================================
-- 沉睡回店统计性能索引(MySQL 5.7)
-- ============================================
-- 说明:配合 SleepReturnStatisticsHelper 集合 GROUP BY + 候选会员期初判定。
-- 开发库未建索引时接口仍可跑通(汇总约 2.5~4s);上线前执行本脚本可进一步压到 <2s 级。
-- 1) 周期内按有效+时间+会员+门店聚合(汇总/排名/明细候选)
CREATE INDEX idx_xh_hyhk_effective_hksj_hy_md
ON lq_xh_hyhk(F_IsEffective, hksj, hy, md);
-- 2) 期开始前会员最后到店(期初沉睡 / last_before)
CREATE INDEX idx_xh_hyhk_member_effective
ON lq_xh_hyhk(hy, F_IsEffective, hksj);
-- 3) 全表有效耗卡时间范围扫描(条件 MAX 趋势)
CREATE INDEX idx_xh_hyhk_effective_date
ON lq_xh_hyhk(F_IsEffective, hksj);
-- 验证示例(只读 EXPLAIN,勿在生产高峰期执行 DDL):
-- EXPLAIN SELECT hy, MAX(DATE(hksj)) FROM lq_xh_hyhk WHERE F_IsEffective=1 AND hksj<'2026-07-01' GROUP BY hy;
-- EXPLAIN SELECT hy, DATE(hksj) FROM lq_xh_hyhk WHERE F_IsEffective=1 AND hksj>='2026-07-01' AND hksj<'2026-08-01' GROUP BY hy, DATE(hksj);