-- life_discount_coupon 建议索引（依据代码里 LambdaQueryWrapper / Mapper 常见条件）
--
-- 执行说明：
-- • 请先 SHOW INDEX FROM life_discount_coupon ，若已有覆盖左前缀相同的索引请勿重复 ADD。
-- • MySQL 8.0 若希望与 ORDER BY created_time DESC 完全一致，可把最后一列写成 `created_time DESC`；
--   为兼容更广版本，此处使用默认升序，优化器仍可走索引反向扫描。
-- • (unlimited_qty OR single_qty) 类条件 btree 较难单独优化，主要靠 store_id/delete_flag/get_status 等缩小范围。
--

-- 1) 店铺维度列表 + `ORDER BY created_time DESC`
ALTER TABLE `life_discount_coupon`
    ADD INDEX `idx_ldc_store_del_created` (`store_id`, `delete_flag`, `created_time`);

-- 2) 领取窗口：store_id + 开启领取 + begin_get_date / end_get_date 区间
ALTER TABLE `life_discount_coupon`
    ADD INDEX `idx_ldc_store_del_get_endget` (`store_id`, `delete_flag`, `get_status`, `end_get_date`, `begin_get_date`);

-- 3) 使用有效期（点餐可领列表等）：store_id + 开启领取 + end_date/start_date 区间
ALTER TABLE `life_discount_coupon`
    ADD INDEX `idx_ldc_store_del_get_usedates` (`store_id`, `delete_flag`, `get_status`, `end_date`, `start_date`);

-- 4) 平台优惠券列表：按 type（如 type=3）+ 删除标记 + created_time（含按日 between）
ALTER TABLE `life_discount_coupon`
    ADD INDEX `idx_ldc_type_del_created` (`type`, `delete_flag`, `created_time`);

