Hellmuth Vargas escribió:
> Hola Anthony
> 
> NO, eso es claro que sale mas costoso.. pero la pregunta va a que si tengo
> un indice por centro y id (este  ordenado desc)  no debería  poder sacar el
> máximo por cada centro empleando exclusivamente el indice?

La razón es que no está implementado hacerlo más rápido.  Hay un parche
propuesto para la versión 13 que me parece resuelve tu problema

https://commitfest.postgresql.org/25/1124/

Lo probé con la tabla vacía (no diste un mecanismo para generar datos) y
seteando enable_seqscan off me da este plan:

                                                   QUERY PLAN                   
                                 
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 GroupAggregate  (cost=0.14..45.64 rows=50 width=524)
   Group Key: centrocodigo
   ->  Index Only Scan using idx_oportunidadcitas_desc on oportunidadcitas  
(cost=0.14..44.89 rows=50 width=524)
(3 filas)


que supongo que es lo que buscas, pero no estoy seguro.

Sugiero que verifiques si el parche hace mejor el plan, y si es así,
le damos un +1 a ese parche (que lleva harto tiempo pendiente)

saludos


-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to