私は何かを監督しているに違いありませんが、次の質問があります。
SELECT
`Poster`, Round(Sum(If((`Date`>=DATE_ADD(CURDATE(),INTERVAL -1 Month) And `Date`<CURDATE()),1,0))/DATEDIFF(CURDATE(),DATE_ADD(CURDATE(),INTERVAL -1 Month)),0) AS `statistics`
FROM `forenposts`
GROUP BY `Poster`
ORDER BY `statistics` DESC
LIMIT 5
これは、150 万を超えるエントリを持つデータベースで約 15 秒かかります。
それを最適化する簡単な方法はありますか、それとも If 関数は非常に時間がかかりますか?