El día 7 de mayo de 2009 13:39, Ernesto Quiñones <ernes...@gmail.com> 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)
>
>

Creo que una forma de mejorarla es creando index en lcl_maecliente  y f_consumo
en las columnas que haces el join (si no es que no queres reformular toda la
consulta nuevamente).


> 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 <ernes...@gmail.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
>>
>
>
>
> --
> Inscribete en las listas de APESOL
> http://www.apesol.org/listas.php
>
> Visita
> http://www.eqsoft.net
> Manuales, noticias, foros, etc.
> --
> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
>



-- 
      Emanuel Calvo Franco
        Sumate al ARPUG !
        ( www.arpug.com.ar)
    ArPUG / AOSUG Member
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
    (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Reply via email to