Hay una tecnica que se llama vista materializada log. (eso es en Oracle). Basicamente es util cuando debes tener un resumen por ejemplo mensual de las sumas de operaciones de ventas por ejemplo.
Tabla Ventas (datos, date). Todos los meses si necesitas un reporte mensual se puede hacer Ventas_mensuales (sum(datos), mes) ; que consiste en la suma mensual de cada mes. Ahora si adicional a esto necesitas sumar los datos procesados del dia. puede tomar las sumas hechas. y agregarlas las diarias. (de esa forma se ahorra mucho tiempo). Las vistas materializadas Log solo guardan los cambios en cada registro según el criterio. En Postgresql no tengo idea si hay algo como eso, pero se puede programar un proceso con triggers para que simule eso. 2010/5/13 Christian Ortiz <[email protected]>: > > > Lo habia hecho con una vista, pero lo que pones, esta genial. Muchas > gracias. > > El 12 de mayo de 2010 19:15, Jaime Casanova <[email protected]> > escribió: >> >> 2010/5/12 Christian Ortiz <[email protected]>: >> > Hola a todos, >> > >> > tengo q hacer un reporte, donde la consulta tiene varios campos que >> > van >> > hacer calculados algo asi >> > >> > select sum(a), sum(b), sum(a)*sum(b), sum(a)*sum(b)*sum(c) form aTable >> > >> > el problema esta en que las sumas se hacen a cada rato y no una sola vez >> > por >> > lo que con mucha data la consuta se hace terriblemente lenta >> > >> > probe con >> > >> > select sum(a) as X, sum(b) as Y, X*Y, X*Y*sum(c) form aTable >> > >> > pero no reconoce a X ni a Y >> > >> >> >> select x, y, x*y, x*y*z >> from (select sum(a) as x, sum(b) as y, sum(c) as z from table) >> >> -- >> Jaime Casanova www.2ndQuadrant.com >> Soporte y capacitación de PostgreSQL > > > > -- > Christian > -- Saludos, Horacio Miranda Aguilera. RedHat Certified Engineer DBA Oracle - Large databases +56 2 8974500 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
