RE: Consutla SQL

From: "Daniel Ferrer" <daniel(dot)ferrer(at)ctd(dot)com(dot)ar>
To: "'Alvaro Herrera'" <alvherre(at)commandprompt(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Consutla SQL
Date: 2008-02-29 16:37:05
Message-ID: 20080229163710.C42272E008B@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Alvaro Herrera
Enviado el: Viernes, 29 de Febrero de 2008 01:33 p.m.
Para: Daniel Ferrer
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Consutla SQL

Daniel Ferrer escribió:
>
> Estimada lista:
> Les comento que necesito extraer datos
estadísticos
> y el campo por el cual estoy filtrando es de tipo timestamp.
> La tabla ya cuenta con mas de 500.000 registros
por
> lo cual cada consulta que realizo me da como resultado un larga espera.
> Estos reportes son de tipo comercial por lo cual
> debo optimizar dicho reportes.
>
> Alguna sugerencia ?
>
>
> Adjunto la consulta y el explain:

Por favor envia el EXPLAIN ANALYZE -- pero ponlo como archivo adjunto,
para evitar que tu programa de correo le estropee el formateo.

A primera vista, algo que me parece que puede causar problemas es el
estar haciendo multiples subselect para extraer los distintos grupos
(pallet, sobre, etc), cuando podrias hacerlo de una sola pasada y usar
GROUP BY.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Alvaro:

Aca te adjunto el explain.
Por otra parte voy a optimizar el tema de la selección de productos incluso
ya los unificamos por id osea que es mucho mas facil.
Pero la pregunta es cual es la tecnica que se utiliza para poder extraer
datos estadisticos?
Una de ella se me ocurre seria almacenar en alguna tabla secundaria los
datos que sean relevantes para dichas estadisticas y luego a traves de un
trigger mantenerla actualizada, para no tener que realizar consultas masivas
entre tantos Join que se tiene que realizar e indexar aquellos campos por lo
cuales uno tiene que filtrar.
Ejemplo almacenar una columna con año/mes (YYYYMM) si las estadisticas que
necesitas seran mensuales y cosas por el estilo.

Ustedes como lo resolvieron a esto ?

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.21.2/1304 - Release Date: 2008-02-29
08:18 a.m.


Attachment Content-Type Size
plan1_txt application/octet-stream 7.3 KB

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Daniel Ferrer 2008-02-29 16:40:02 RE: Consutla SQL
Previous Message Rodriguez Fernando 2008-02-29 16:10:41 Re: Consutla SQL