私のクエリは約10秒間実行されており、それは受け入れられません。大規模なテーブルの中のMySQLクエリの日付
私はこのスピードを改善する方法を模索していますが、私はオプションがありません。 今から30日間のレコードを1,200万行以上のテーブルに戻す必要があります。私も試してみました
SELECT DATE(DATE) AS FDATE,
SUM(VIEW_COUNT) AS COUNT,
COUNT(IP_ADDRESS) AS CLIENTS
FROM VIEWS
WHERE USERID = 'test'
AND DATE BETWEEN ADDDATE(CURDATE(), INTERVAL -30 DAY) AND CURDATE()
GROUP BY FDATE DESC
が、同じ効果:
次のクエリあなたは、クエリの実行時間を短縮でパフォーマンスを向上させるためのMySQLのインデックスを使用して試みることができる
SELECT DATE(DATE) AS FDATE,
SUM(VIEW_COUNT) AS COUNT,
COUNT(IP_ADDRESS) AS CLIENTS
FROM VIEWS
WHERE USERID = 'test'
AND DATE >= (DATE(NOW() - INTERVAL 30 DAY) + INTERVAL 0 SECOND)
GROUP BY FDATE DESC
(userid、date)にはカバーインデックスがありますか? – Strawberry