O que você está considerando pode ser feito de várias maneiras.
-
Você pode configurar um gatilho em seu banco de dados para recalcular os valores sempre que um novo registro for atualizado. Você pode armazenar o código necessário para atualizar os valores em um sproc, se necessário.
-
Você pode escrever um script PHP e executá-lo regularmente via cron.
#1 irá desacelerar as inserções em seu banco de dados, mas garantirá que seus dados sejam sempre atualizado. #2 pode bloquear as tabelas enquanto atualiza os novos valores, e seus dados só serão precisos até a próxima atualização. #2 é muito mais fácil de fazer backup, pois o script pode ser facilmente armazenado em seu sistema de controle de versão, enquanto você precisa armazenar os scripts de criação de gatilho e sproc em qualquer backup que você fizer.
Obviamente, você terá que avaliar seus requisitos antes de escolher um método.