最近发现,每天自动调度的存储过程中一段sql,时间突增,发现是mysql自动优化系统突然不走distribute_time 字段的索引了,
所以,加上强制走索引的方式 force index(idx_distribute_time)
SELECT
a.emp_user_id,
SUM( a.distribute_amount_detail ) distribute_amount,
COUNT(*) distribute_num
FROM
fe_dwd.dwd_en_distribute_detail_fx a force index(idx_distribute_time)
WHERE
a.distribute_time >= @ymd #取昨天所在月
AND a.distribute_time < @ymt
AND a.emp_user_id NOT IN(2228642,1217225)
GROUP BY 1;