Re: querys pesados

From: Ernesto Quiñones <ernestoq(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: querys pesados
Date: 2009-05-07 18:13:50
Message-ID: 2ba222580905071113y1fe5cc0cuc3ef2dba2aa42775@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

uds. creen que creando un indice sobre las columns que hacen group by mejore??
saludos

El día 7 de mayo de 2009 13:07, Rodriguez Fernando
<rodriguez(at)ort(dot)edu(dot)uy> escribió:
> Ernesto Quiñones escribió:
>>
>> que tal amigos
>> este es el explain analyze:
>>
>> explain analyze select a.FlgCobroLlamada, a.FlgCelular,
>> a.FlgStatusCDR, a.CodMesFactura, a.CodCiudadDestino, a.CodNpa,
>> a.TipLlamada, a.CodSubMotivoEstadoCliente, a.CodEstadoCliente,
>> a.CodPuntoVenta, a.CodCicloFacturacionCliente, b.codpaisubigeocliente,
>> b.codpaisfacturacion, a.CodOperador, a.CodEmpresaUT,
>> to_date(substr(CAST(a.codhora as text),1,8),'yyyymmdd'),
>> a.TipConexion, a.TipAcceso, sum(a.MtoCostoValorizado),
>> sum(a.MtoMinutosTotalesValorizado) from f_consumo a join
>> lcl_maecliente b on (a.codcliente=b.codcliente)group by
>> a.FlgCobroLlamada, a.FlgCelular, a.FlgStatusCDR, a.CodMesFactura,
>> a.CodCiudadDestino, a.CodNpa, a.TipLlamada,
>> a.CodSubMotivoEstadoCliente, a.CodEstadoCliente, a.CodPuntoVenta,
>> a.CodCicloFacturacionCliente, b.codpaisubigeocliente,
>> b.codpaisfacturacion, a.CodOperador, a.CodEmpresaUT,
>> to_date(substr(CAST(a.codhora as text),1,8),'yyyymmdd'),
>> a.TipConexion, a.TipAcceso
>> ;
>> QUERY PLAN
>>
>> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>> GroupAggregate (cost=6793590.06..7973814.93 rows=15228708 width=106)
>> (actual time=2811295.104..5198116.245 rows=5750514 loops=1)
>> -> Sort (cost=6793590.06..6831661.83 rows=15228708 width=106)
>> (actual time=2811295.056..5119747.291 rows=15228708 loops=1)
>> Sort Key: a.flgcobrollamada, a.flgcelular, a.flgstatuscdr,
>> a.codmesfactura, a.codciudaddestino, a.codnpa, a.tipllamada,
>> a.codsubmotivoestadocliente, a.codestadocliente, a.codpuntoventa,
>> a.codciclofacturacioncliente, b.codpaisubigeocliente,
>> b.codpaisfacturacion, a.codoperador, a.codempresaut,
>> (to_date(substr((a.codhora)::text, 1, 8), 'yyyymmdd'::text)),
>> a.tipconexion, a.tipacceso
>> Sort Method: external merge Disk: 1971456kB
>> -> Hash Join (cost=6819.01..1437289.10 rows=15228708
>> width=106) (actual time=1302.791..196625.524 rows=15228708 loops=1)
>> Hash Cond: ((a.codcliente)::text =
>> (b.codcliente)::text)
>> -> Seq Scan on f_consumo a (cost=0.00..429172.08
>> rows=15228708 width=112) (actual time=4.052..65973.189 rows=15228708
>> loops=1)
>> -> Hash (cost=4555.45..4555.45 rows=123245 width=18)
>> (actual time=1298.143..1298.143 rows=123245 loops=1)
>> -> Seq Scan on lcl_maecliente b
>> (cost=0.00..4555.45 rows=123245 width=18) (actual time=14.092..953.654
>> rows=123245 loops=1)
>> Total runtime: 5217852.883 ms
>> (10 filas)
>>
>>
>> OS: Linux
>> Hardware: Servidor Dell 2gb de ram y HD sata, procesador Core 2 duo
>> saludos
>>
>> El día 7 de mayo de 2009 10:16, Ernesto Quiñones <ernestoq(at)gmail(dot)com>
>> escribió:
>>
>>>
>>> que tal amigos
>>> gracias por las respuestas, antes de correr los queryas ejecuto un
>>> vacuum full analyze sobre toda la db (proque tengo como 3 de esos que
>>> jalan diferentes tablas)
>>> estoy generando un explain analyze (demorará en botarme la respuesta)
>>> para poder enviarlo y ver que esta pasando con los indices aunque
>>> facil es un seq scan por la cantidad de data
>>>
>>> en un rato les envilo los detalles de lo que me informo el pgsql el
>>> explain
>>>
>>> saludos
>>>
>>>
>>
>>
>>
>>
>
> La velocidad no la vas a mejorar ya que el sum es sobre toda la tabla.
> Una opcion es como la que ya propusierom, o sea sumarizar por dias o meses
> en otra tabla, o le apliques un filtrado (where ....).
>
>
>
> Saludos Fernando
>

--
Inscribete en las listas de APESOL
http://www.apesol.org/listas.php

Visita
http://www.eqsoft.net
Manuales, noticias, foros, etc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-05-07 18:16:52 Re: querys pesados
Previous Message Ernesto Quiñones 2009-05-07 18:08:37 Re: querys pesados