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

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

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
Subject: Re: Se puede obtener el total de registros de unatabla sin select count(*)?
Date: 2008-01-29 14:15:51
Message-ID: 20080129141551.GA8102@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

pgsql-es-ayuda by date

Next:From: Reynier Perez MiraDate: 2008-01-29 14:51:47
Subject: RE: El sitio web en castellano esta en proceso
Previous:From: Silvio QuadriDate: 2008-01-29 13:47:04
Subject: Fwd: [OT] Sugerencia para los administradores de la lista

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