Mysql
 sql >> Database >  >> RDS >> Mysql

È possibile accelerare un sum() in MySQL?

No, non puoi velocizzare la funzione stessa. Il problema qui è davvero che stai selezionando 7,3 milioni di record. MySQL deve scansionare l'intera tabella e 7,3 milioni è un numero piuttosto grande. Sono impressionato dal fatto che finisca così velocemente, in realtà.

Una strategia che potresti adottare sarebbe quella di suddividere i tuoi dati in sottoinsiemi più piccoli (forse per data? Mese?) e mantenere una somma totale per i vecchi dati che non cambierà. Potresti aggiornare periodicamente la somma e il valore complessivo potrebbe essere calcolato aggiungendo la somma e tutti i nuovi dati aggiunti da allora, che saranno un numero di righe molto inferiore.