Thu, Jun 23, 2011 at 01:13:48PM -0400, Alvaro Herrera escribió:

>
>El problema de esta idea es que cada MOVE y FETCH requieren leer todas
>las tuplas intermedias para contarlas.  Capturar una tupla que está
>hacia el final de la tabla es muy costoso.

        Pero es un orden de magnitud menos costoso (de 7.x segundos a
0.8 segundos para 10M filas) que con ORDER BY count() LIMIT, y esto me
parece una gran ganancia.

        A cambio, no tiene los problemas de las otras soluciones como
depender de que la tabla tenga columnas numéricas -y entonces
preocuparse de los huecos, que no es trivial- o tener que alterar la
estructura de la tabla añadiendo columnas numéricas -y actualizando
adecuadamente sus valores-. En otras palabras: vale para cualquier
tabla, es una solución genérica, como la trivial, pero un orden de
magnitud más rápido. ¿No? :)

        Saludos,

        Álvaro

-- 

Álvaro Hernández Tortosa


-----------
NOSYS
Networked Open SYStems
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a