ma requête dure environ 10 secondes et c'est inacceptable.
Je cherche un moyen d'améliorer cette vitesse mais je n'ai plus d'options. Je dois retrouver les enregistrements d'ici 30 jours dans un tableau de plus de 12 millions de lignes.
La requête suivante:
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
J'ai aussi essayé, mais le même effet:
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
Réponses:
1 pour la réponse № 1Vous pouvez essayer d'utiliser les index MySQL pour de meilleures performances en réduisant le temps d'exécution des requêtes.
http://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html