我有以下 MySQL 查询。
SELECT user_id
SUM(reached = 'Y') AS reached_count,
SUM(reached = 'N') AS not_reached_count
FROM goals
GROUP BY user_id
在表格目标中,我有大约 200 万个条目。执行查询大约需要 45 秒。
沉重的部分似乎SUM(reached = 'Y')
需要很长时间。我比较了它COUNT(*)
确实更快,但没有区分 Y 和 N。
编辑:reached
是类型ENUM('Y','N')