sql >> Base de Datos >  >> RDS >> Sqlserver

¿Almacenar totales o calcular sobre la marcha?

Sugeriría NO almacenar totales, ya que esto parece una base de datos transaccional y estará insertando filas con bastante frecuencia, por lo que si almacena totales, cada vez que inserte una fila, deberá actualizar sus totales.

Entonces, en realidad, cada inserción en la tabla será seguida por una declaración de actualización solo para mantener los totales actualizados. suena un diseño muy pobre para una base de datos transaccional.

El almacenamiento de totales es una buena opción para un almacén de datos donde los datos apenas cambian, si es que alguna vez lo hacen.

Mi sugerencia sería crear Vistas, que calcularán los totales sobre la marcha. Agregue índices apropiados para que estas consultas sean eficientes. Cuando sus datos crecen tanto que incluso los índices en la tabla no hacen lo suficiente, considere las vistas indexadas.