From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Gregorio Diaz <gregorio_diaz(at)yahoo(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Inquietud sobre Count() |
Date: | 2006-01-17 15:42:29 |
Message-ID: | c2d9e70e0601170742r73005cd2hc510423abcac3d4a@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 1/17/06, Gregorio Diaz <gregorio_diaz(at)yahoo(dot)com> wrote:
> Hola Amigos de lista
>
> Tengo una tabla cualquiera con 400.000 registros de
> prueba(simulados, cuando ejecuto esto:
>
> Select Count (*) From tabla
> o
> Select Count(campo_llave_primaria) From tabla
>
> Para determinar el numero de registros en la tabla.
>
> Se tarda mucho tiempo (cerca de 20 segundos) para
> darme la respuesta.
>
>
> Existe algo mejor para determinar el numnero de
> registros en
> una tabla ?
>
> Porque Count no usa los indices o algo asi ?
>
> - Postgresql, version 8.1 y 8.1.1
>
> - Pruebas hechas desde pgadmin 1.4.1 y desde
> aplicativo hecho con 4D.
>
> Un saludo
>
> Gregorio Diaz G.
> Bogota, Colombia
>
>
Por que tiene que contar los registros...
Imagina estas dos transacciones:
Transaccion 1
BEGIN;
DELETE FROM tabla1;
Mientras esto aun se esta ejecutando otro usuario ejecuta:
Transaccion 2
BEGIN;
SELECT * FROM tabla1;
Debido a que la transaccion 1 aun no ha hecho commit los registros aun
existen para el resto del mundo y la transaccion2 debe poder verlos...
para lograr eso se usa el sistema MVCC que trabaja con diferentes
versiones de una tupla para cada transaccion que la este
modificando...
asi que a la vez (dependiendo de la transaccion que consulte) una
tabla puede estar vacia o tener 10 registros o 100 registros... por
eso el count tiene que contar uno por uno los registrosy verificar que
para esa transaccion el registro deberia ser visible...
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2006-01-17 15:47:46 | Re: Inquietud sobre Count() |
Previous Message | Gregorio Diaz | 2006-01-17 15:31:44 | Inquietud sobre Count() |