Skip site navigation (1) Skip section navigation (2)

Re: Se puede obtener el total de registros de unatabla sin select count(*)?

From: "Raul Andres Duque" <raulandresduque(at)hotmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>,"Silvio Quadri" <silvioq(at)gmail(dot)com>
Cc: Julio Cesar Sánchez González <knowhow(at)sistemasyconectividad(dot)com(dot)mx>,<pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Se puede obtener el total de registros de unatabla sin select count(*)?
Date: 2008-01-29 18:26:31
Message-ID: BAY135-DAV914619589D95FFF5C52F0BA350@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
----- Original Message ----- 
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
To: "Silvio Quadri" <silvioq(at)gmail(dot)com>
Cc: "Julio Cesar Sánchez González" <knowhow(at)sistemasyconectividad(dot)com(dot)mx>; 
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Tuesday, January 29, 2008 9:15 AM
Subject: Re: [pgsql-es-ayuda] Se puede obtener el total de registros de 
unatabla sin select count(*)?


> Silvio Quadri escribió:
>
>> select relname, reltuples from pg_class c, pg_namespace n
>> where relname = 'nombre de tabla'
>> and relnamespace = n.oid and nspname = any( current_schemas(false) );
>>
>> OJO: Creo que reltuples es la cantidad de registros estimados. No confíes
>> 100% en él, ya que entiendo que lo usa para cuestiones estadísticas.
>
> Yo iba a proponer algo parecido pero que sirve en más circunstancias:
> pasarle un EXPLAIN a la consulta y luego extraer del nodo mas externo la
> parte que dice "rows=".  Creo que Tom Lane publicó una función en
> plpgsql que hace eso, pero no la encuentro.  No debería ser muy difícil
> de hacer, creo.
>
> Como Silvio dice, hay que usarlo con cuidado: es sólo para propósitos
> estimativos.
>

"Dentro de mi ignorancia" ... ¿cual es la razón para mantener un estimado de 
la cantidad de registros de una tabla y no la cantidad real? Supondría que 
sería fácil sumar y restar de una "Estadistica de la tabla" cuando se 
realiza un insert/delete sobre la tabla y con esto saber la cantidad real 
con orden 1. Además es muy común que se requiera la cantidad de registros en 
una tabla.

Perdon si esta sugerencia es muy "tonta" para los hackers de postgresql.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

> -- 
> Alvaro Herrera 
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
> --
> TIP 5: ¿Has leído nuestro extenso FAQ?
>         http://www.postgresql.org/docs/faqs.FAQ.html 


In response to

Responses

pgsql-es-ayuda by date

Next:From: Ernesto QuiñonesDate: 2008-01-29 18:52:07
Subject: busqueda no esta usando un indice
Previous:From: Alvaro HerreraDate: 2008-01-29 15:12:10
Subject: Re: Problema de Performance

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group