Existem diretrizes ou regras práticas para determinar quando armazenar valores agregados e quando calculá-los em tempo real?
Por exemplo, suponha que eu tenha widgets que os usuários possam avaliar (consulte o esquema abaixo). Cada vez que mostro um widget, posso calcular a classificação média do usuário a partir da Ratings
tabela. Como alternativa, eu poderia armazenar a classificação média na Widget
mesa. Isso me pouparia de ter que calcular a classificação toda vez que eu exibir o widget, mas teria que recalcular a classificação média cada vez que um usuário classificasse um widget.
Ratings Widgets
--------- -------
widget_id widget_id
user_id name
rating avg_rating <--- The column in question