Bonjour à tous !

Voilà, j'ai crée récemment un site de statistiques pour un jeu.
Ce site récupère toutes les 24h les informations sur les joueurs en les historisant dans une table

Chaque jour à 00:00 après avoir récupéré ces stats, je fais, grâce à la table historique, le calcul de l'évolution en points du joueur.

Je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT 
joueur_hist_today.id,
joueur_hist_today.pseudo,
(joueur_hist_today.score - joueur_hist_yest.score) as evolution_score
from
joueur_hist joueur_hist_today
inner join joueur_hist joueur_hist_yest on
joueur_hist_today.id = joueur_hist_yest.id
and date(joueur_hist_today.date) = date(joueur_hist_yest.date) + INTERVAL 1 DAY
and date(joueur_hist_today.date) = CURRENT_DATE
order by evolution_score desc
limit 3
On a donc un calcul... Et cette table fait 300.000 lignes maintenant.
La requête met 19s et prend environ une seconde chaque jour.

Donc je me suis dit... il y a t'il moyen d'optimiser cette requête ( les INDEX sont normalement déjà en place )

Merci d'avance