From: | Horacio Miranda <hmiranda(at)gmail(dot)com> |
---|---|
To: | Christian Ortiz <cpalst(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:42:11 |
Message-ID: | AANLkTik6gNm0eJavjkOigdMKdN_wFV7ZSP4mOKienQet@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Disculpa puse enviar antes de terminar.
Revisando informacion (mientras me molestaron por cosas de la pega me
distraje).. revisa esto
So no spy experto en postgresql pero me imagino que debe haber un
codigo hecho por ahi en alguna parte.
Un dato, en una parte de telefonica, tenina un sistema que buscaba las
facturas de todas las llamas, era un sistema que tenia dos partes, una
parte era un proceso que hacia ordenamiento binario de todos los
telefonos y otra parte con el trafico diario.
No se los por menores, pero cuando hise el curso de base de datos a
ese grupo de atento, me comentaron que el sistema se demoraba 1
segundo en entregar los datos, frente a eso es dificil de mejorar,
recuerdad que las base de datos, son para guardar los datos y los
motores no son los lentos, es la forma en que sacas la data la
lenta... revisa bien como sacar la data y un cambio menor puede
generar un impacto mayor. (ignoro tu sistema) pero offline si me
envias mensajes de procesos lentos, te puedo ayudar un poco. (cuando
se tenga la solción final) se puede poner en la lista (es para no
infectar la lista de información inutil).
2010/5/13 Christian Ortiz <cpalst(at)gmail(dot)com>:
> 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
>
--
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
DBA Oracle - Large databases
+56 2 8974500
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando Siguenza | 2010-05-13 04:54:21 | Consulta con group by |
Previous Message | Jaime Casanova | 2010-05-13 04:39:03 | Re: optiminizacion de select (order by desc limit 1) |