Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

É possível acelerar um sum() no MySQL?


Não, você não pode acelerar a função em si. O problema aqui é que você está selecionando 7,3 milhões de registros. O MySQL precisa escanear toda a tabela, e 7,3 milhões é um número bem grande. Estou impressionado que termine tão rápido, na verdade.

Uma estratégia que você poderia empregar seria dividir seus dados em subconjuntos menores (talvez por data? Mês?) e manter uma soma total para dados antigos que não serão alterados. Você pode atualizar periodicamente a soma e o valor geral pode ser calculado adicionando a soma e quaisquer novos dados adicionados desde então, que serão um número muito menor de linhas.