From: | Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no> |
---|---|
To: | Ernesto Quiñones <ernestoq(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: querys pesados |
Date: | 2009-05-07 17:24:12 |
Message-ID: | 4A03193C.1000902@usit.uio.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ernesto Quiñones wrote:
> que tal amigos
> este es el explain analyze:
> 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)
>
Hola
El problema esta en que tienes que ordenar 15.228.708 de entradas por
culpa del "group by" .
Que estais intentando hacer con esta consulta? Calcular la suma total de
a.MtoCostoValorizado y a.MtoMinutosTotalesValorizado para todas las
entradas de f_consumo en donde
f_consumo.codcliente=lcl_maecliente.codcliente?
Si es esto lo que quereis hacer, porque no utilizais un sub-select y
calculais la suma para los dos atributos con los datos del sub-select?
asi os ahorrais el tener que ordenar 15.228.708 de entradas (esto es lo
que mas tiempo ocupa)
Ya contaras
--
Rafael Martinez, <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Center for Information Technology Services
University of Oslo, Norway
PGP Public Key: http://folk.uio.no/rafael/
From | Date | Subject | |
---|---|---|---|
Next Message | Ernesto Quiñones | 2009-05-07 17:33:05 | Re: querys pesados |
Previous Message | Ernesto Quiñones | 2009-05-07 16:39:50 | Re: querys pesados |