我有这个查询(我没写),对于一个客户端工作正常,直到表中有超过几千行,现在只需要4200行就需要40秒+.
关于如何优化和获得相同结果的任何建议?
我已经尝试了一些其他方法,但没有得到这个较慢的查询返回的正确结果...
SELECT COUNT(*) AS num
FROM `fl_events`
WHERE id IN(
SELECT DISTINCT (e2.id)
FROM `fl_events` AS e1, fl_events AS e2
WHERE e1.startdate >= now() AND e1.startdate = e2.startdate
)
ORDER BY `startdate`
Run Code Online (Sandbox Code Playgroud)
任何帮助都会受到极大的关注!
公寓从明显的索引需要,我真的不明白为什么你自己加入你的桌子选择IN条件.该ORDER BY也是没有必要的.你确定你的查询不能像这样写吗?:
SELECT COUNT(*) AS num
FROM `fl_events` AS e1
WHERE e1.startdate >= now()
Run Code Online (Sandbox Code Playgroud)