Te agradezco tu gran aporte, voy a investigar sobre ello.

El 12 de mayo de 2010 23:02, Horacio Miranda <[email protected]> escribió:

> 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
>



-- 
Christian

Responder a