Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ist es möglich, eine sum() in MySQL zu beschleunigen?

Nein, Sie können die Funktion selbst nicht beschleunigen. Das Problem hier ist wirklich, dass Sie 7,3 Millionen Datensätze auswählen. MySQL muss die gesamte Tabelle scannen, und 7,3 Millionen sind eine ziemlich große Zahl. Ich bin wirklich beeindruckt, dass es so schnell fertig ist.

Eine Strategie, die Sie anwenden könnten, wäre, Ihre Daten in kleinere Teilmengen zu unterteilen (vielleicht nach Datum? Monat?) und eine Gesamtsumme für alte Daten beizubehalten, die sich nicht ändern werden. Sie könnten die Summe regelmäßig aktualisieren, und der Gesamtwert könnte berechnet werden, indem Sie die Summe und alle neuen Daten, die seitdem hinzugefügt wurden, addieren, was eine viel kleinere Anzahl von Zeilen darstellt.