非常慢的查询,任何其他方式来格式化这个更好的性能?

Sum*_*x0r 3 mysql sql

我有这个查询(我没写),对于一个客户端工作正常,直到表中有超过几千行,现在只需要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)

任何帮助都会受到极大的关注!

Lam*_*mak 5

公寓从明显的索引需要,我真的不明白为什么你自己加入你的桌子选择IN条件.该ORDER BY也是没有必要的.你确定你的查询不能像这样写吗?:

SELECT COUNT(*) AS num
FROM `fl_events` AS e1
WHERE e1.startdate >= now() 
Run Code Online (Sandbox Code Playgroud)