/ / Mysql date de requête entre dans une grande table - mysql, date, count, sum, between

Mysql date de requête entre en grande table - mysql, date, count, sum, between

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 № 1

Vous 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