-- ============================================
-- 沉睡回店统计性能索引（MySQL 5.7）
-- ============================================
-- 说明：配合 SleepReturnStatisticsHelper 集合 GROUP BY + 候选会员期初判定。
-- 开发库未建索引时接口仍可跑通（汇总约 2.5~4s）；上线前执行本脚本可进一步压到 &lt;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);
