Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-il possible d'accélérer un sum() dans MySQL ?

Non, vous ne pouvez pas accélérer la fonction elle-même. Le problème ici est vraiment que vous sélectionnez 7,3 millions d'enregistrements. MySQL doit analyser toute la table, et 7,3 millions est un nombre assez important. Je suis impressionné qu'il se termine aussi vite, en fait.

Une stratégie que vous pourriez employer serait de diviser vos données en sous-ensembles plus petits (peut-être par date ? Mois ?) Et de maintenir une somme totale pour les anciennes données qui ne changera pas. Vous pouvez périodiquement mettre à jour la somme, et la valeur globale peut être calculée en ajoutant la somme, et toutes les nouvelles données qui ont été ajoutées depuis lors, qui seront un nombre beaucoup plus petit de lignes.