Raúl Andrés Duque Murillo escribió:

> SELECT tabla.id_parte, tabla.anno, tabla.mes, tabla.valor
> FROM    (
>                     SELECT tabla.id_parte, MAX(tabla.anno*100 + tabla.mes) AS 
> AnnoMes
>                     FROM tabla
>                     GROUP BY tabla.id_parte
>             ) maxtabla INNER JOIN tabla ON tabla.id_parte = maxtabla.id_parte 
> AND AnnoMes = (tabla.anno*100 + tabla.mes) 

¿Que version usas y cual es el explain de esto?

El max() debería convertirse a un indexscan + LIMIT, creo; pero solo de
8.2 en adelante.  Si no lo hace automaticamente, haz la conversión a
mano (order by ... limit 1)

-- 
Alvaro Herrera                http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"Hoy es el primer día del resto de mi vida"
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a