Re: porque no emplea indice para algunas funciones agregadas (max,min)

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Anthony Sotolongo <asotolongo(at)gmail(dot)com>, POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: porque no emplea indice para algunas funciones agregadas (max,min)
Date: 2021-01-19 13:42:09
Message-ID: CAN3Qy4ou-3=LRfeXF+5kj_-Ui3O8M6u9R3=tuf8t_PYZD3WPDA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Lista

Realiza la prueba correspondiente y efectivamente, en la versión 13.1, ya
emplea el índice para resolver la consulta... Muchas Gracias!

psql (11.7)
Type "help" for help.

bd_dev=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 11.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7
20120313 (Red Hat 4.4.7-23), 64-bit
(1 row)

bd_dev=# explain analyze select tipo_evento, max(id)
bd_dev-# from test.ivr
bd_dev-# group by 1
bd_dev-# ;

QUERY PLAN

----------------------------------------------------------------------------------------------------------
--------------------------------------------------
Finalize GroupAggregate (cost=218860.30..218875.25 rows=59 width=18)
(actual time=21157.994..21158.119 r
ows=70 loops=1)
Group Key: tipo_evento
-> Gather Merge (cost=218860.30..218874.07 rows=118 width=18) (actual
time=21157.974..21158.173 rows=
209 loops=1)
Workers Planned: 2
Workers Launched: 2
-> Sort (cost=217860.28..217860.42 rows=59 width=18) (actual
time=21114.952..21114.958 rows=70
loops=3)
Sort Key: tipo_evento
Sort Method: quicksort Memory: 29kB
Worker 0: Sort Method: quicksort Memory: 29kB
Worker 1: Sort Method: quicksort Memory: 29kB
-> Partial HashAggregate (cost=217857.95..217858.54
rows=59 width=18) (actual time=21114.
797..21114.809 rows=70 loops=3)
Group Key: tipo_evento
-> Parallel Seq Scan on ivr (cost=0.00..196204.30
rows=4330730 width=18) (a
ctual time=3.283..20220.741 rows=3464613 loops=3)
Planning Time: 33.484 ms
Execution Time: 21167.712 ms
(15 rows)

psql (13.1)
Type "help" for help.

bd_dev=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 13.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7
20120313 (Red Hat 4.4.7-23), 64-bit
(1 row)

bd_dev=# explain analyze select tipo_evento, max(id)
from test.ivr
group by 1
;

QUERY PLAN

----------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------
Finalize GroupAggregate (cost=1000.12..85467.15 rows=59 width=18) (actual
time=710.868..6729.597 rows=70
loops=1)
Group Key: tipo_evento
-> Gather Merge (cost=1000.12..85466.85 rows=118 width=18) (actual
time=398.333..6729.385 rows=169 lo
ops=1)
Workers Planned: 2
Workers Launched: 2
-> Partial GroupAggregate (cost=0.11..84454.21 rows=59 width=18)
(actual time=335.542..5644.643
rows=56 loops=3)
Group Key: tipo_evento
-> Parallel Index Only Scan using idx_ivr_tipo_evento on
ivr (cost=0.11..80123.30
rows=4330738 width=18) (actual time=7.069..5184.099 rows=3464613 loops=3)
Heap Fetches: 0
Planning Time: 324.654 ms
Execution Time: 6746.178 ms
(11 rows)

El lun, 18 de ene. de 2021 a la(s) 07:14, Hellmuth Vargas (hivs77(at)gmail(dot)com)
escribió:

> Hola Alvaro
>
> Muchas Gracias por el dato! no he evaluado esta consulta en pg13, voy a
> montar un ambiente para ver su funcionamiento.
>
> El vie, 15 de ene. de 2021 a la(s) 18:05, Alvaro Herrera (
> alvherre(at)2ndquadrant(dot)com) escribió:
>
>> Hellmuth Vargas escribió:
>> > Hola Alvaro
>> >
>> > Mil gracias por la respuesta, pues valdría la pena apoyar el parche
>> porque
>> > sera una forma rápida de obtener algunas funciones agregadas (máximos,
>> > mínimos) agrupados por "categorias" directamente desde un indice
>> asociado
>> > el cual si esta ordenado debe debería resolverlo rápidamente.... este
>> tipo
>> > de consultas son muy comunes... que opinan?
>>
>> Hola, estaba mirando el archivo de la lista por otras razones y vi este
>> mensaje. Pensé que sería buena idea comentar que el parche que
>> mencionaba en ese momento fue incluido en Postgres 13, por si aún no te
>> has subido de versión, para que veas qué tal te funciona.
>>
>> Saludos
>>
>> PD:
>> http://postgr.es/m/flat/CAN3Qy4pFNU0PfHBGF8NAnJzC5vDDzJOYepD7CmuPRbGWb3_x0A(at)mail(dot)gmail(dot)com
>> por si no tienes los mails de ese tiempo
>>
>> --
>> Álvaro Herrera 39°49'30"S 73°17'W
>> "Saca el libro que tu religión considere como el indicado para encontrar
>> la
>> oración que traiga paz a tu alma. Luego rebootea el computador
>> y ve si funciona" (Carlos Duclós)
>>
>
>
> --
> Cordialmente,
>
> Ing. Hellmuth I. Vargas S.
> Esp. Telemática y Negocios por Internet
> Oracle Database 10g Administrator Certified Associate
> EnterpriseDB Certified PostgreSQL 9.3 Associate
>
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Lugo Porras 2021-01-20 21:36:20 funcion pg_terminate_backend(pid) en postgresql 10
Previous Message Alvaro Herrera 2021-01-18 15:42:24 Re: Limite en intentos fallidos de login.