Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy można przyspieszyć działanie sum() w MySQL?

Nie, nie można przyspieszyć samej funkcji. Problem polega na tym, że wybierasz 7,3 miliona rekordów. MySQL musi przeskanować całą tabelę, a 7,3 miliona to całkiem spora liczba. Jestem pod wrażeniem, że właściwie kończy się tak szybko.

Strategią, którą możesz zastosować, jest podzielenie danych na mniejsze podzbiory (na przykład według daty? Miesiąca?) i zachowanie łącznej sumy starych danych, która nie ulegnie zmianie. Możesz okresowo aktualizować sumę, a ogólną wartość można obliczyć, dodając sumę i wszelkie nowe dane, które zostały dodane od tego czasu, co będzie znacznie mniejszą liczbą wierszy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyniki zapytania mysql z funkcją GROUP BY

  2. MySQL:Wbudowany JSON a tabela

  3. Zapytanie MySQL — rekordy od dnia dzisiejszego do ostatnich 30 dni

  4. Virtualmin:nie masz dostępu do tej bazy danych MySQL po zmianie hasła

  5. Jak mogę używać SQL's YEAR(), MONTH() i DAY() w Doctrine2?