Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como sé si mi hardware ya no me permite ejecutar más rapidamente una setencia SELECT en PostgreSQL

From: Alfredo Rico <alfredorico(at)gmail(dot)com>
To: Martín Marqués <martin(at)2ndquadrant(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como sé si mi hardware ya no me permite ejecutar más rapidamente una setencia SELECT en PostgreSQL
Date: 2014-05-05 15:52:16
Message-ID: CAGWUuq2VkLVaPYgxwrjmzBKYJVrQuLHcQo7g_kmYmrNJ40tc_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Martín sería lo siguiente:

Query:
explain analyze
with CTE as (
select saldo_contable, saldo_contable * tasa_interes /
(sum(saldo_contable) over ()) as tasa
from rm_cuentas_vistas where fecha_snapshot = '2014-03-17'
) select 'Depósitos a la vista' as partida, sum(saldo_contable) as
total_saldo, round(sum(tasa),4) as total_tasa from CTE
;

Explain analyze

QUERY PLAN

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Aggregate (cost=166739.23..166739.25 rows=1 width=52) (actual
time=4324.532..4324.532 rows=1 loops=1)
CTE cte
-> WindowAgg (cost=0.00..135537.58 rows=1248066 width=11) (actual
time=1580.507..2891.732 rows=1043549 loops=1)
-> Index Scan using idx_rm_cuentas_vistas_fecha_snapshot on
rm_cuentas_vistas (cost=0.00..113696.43 rows=1248066 width=11) (actual
time=64.275..741.755 rows=1043549 loops=1)
Index Cond: (fecha_snapshot = '2014-03-17'::date)
-> CTE Scan on cte (cost=0.00..24961.32 rows=1248066 width=52) (actual
time=1580.522..3412.303 rows=1043549 loops=1)
Total runtime: 4336.805 ms

http://explain.depesz.com/s/cBOB

Evidentemente hay un overhead en las agregaciones pero quería empezar por
resolver lo más básico.

2014-05-05 10:44 GMT-04:30 Martín Marqués <martin(at)2ndquadrant(dot)com>:

> El día 5 de mayo de 2014, 10:18, Alfredo Rico <alfredorico(at)gmail(dot)com>
> escribió:
> > Martín, en efecto todas las operaciones se hacen en el motor.
> >
> > Que otra información sugieres que pueda suminsitrar a la lista?. En
> esencia
> > considero que si logro reducir la consulta simple al máximo posible, el
> > overhead de las operaciones de agregado puede ser tolerable.
>
> Toda la información sería el explain de la consulta final, no de una parte.
>
> Saludos,
>
> --
> Martín Marqués http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

--
Saludos Cordiales.-
Alfredo Rico.
San Cristóbal - Venezuela.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2014-05-05 16:10:20 Re: Como sé si mi hardware ya no me permite ejecutar más rapidamente una setencia SELECT en PostgreSQL
Previous Message Martín Marqués 2014-05-05 15:14:09 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como sé si mi hardware ya no me permite ejecutar más rapidamente una setencia SELECT en PostgreSQL