Re: optimizando Query

From: Christian Ortiz <cpalst(at)gmail(dot)com>
To: Horacio Miranda <hmiranda(at)gmail(dot)com>
Cc: Jaime Casanova <jaime(at)2ndquadrant(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: optimizando Query
Date: 2010-05-13 04:33:00
Message-ID: AANLkTikEiMd1qEG5KVo20Tm2wsZnSPC-6Bhu2M7mC2uM@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

El 12 de mayo de 2010 23:02, Horacio Miranda <hmiranda(at)gmail(dot)com> 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 <cpalst(at)gmail(dot)com>:
> >
> >
> > Lo habia hecho con una vista, pero lo que pones, esta genial. Muchas
> > gracias.
> >
> > El 12 de mayo de 2010 19:15, Jaime Casanova <jaime(at)2ndquadrant(dot)com>
> > escribió:
> >>
> >> 2010/5/12 Christian Ortiz <cpalst(at)gmail(dot)com>:
> >> > 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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-05-13 04:39:03 Re: optiminizacion de select (order by desc limit 1)
Previous Message Horacio Miranda 2010-05-13 04:22:05 Re: optiminizacion de select (order by desc limit 1)