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 una tabla sin select count(*)? |
Date: | 2008-01-29 14:15:51 |
Message-ID: | 20080129141551.GA8102@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Reynier Perez Mira | 2008-01-29 14:51:47 | RE: El sitio web en castellano esta en proceso |
Previous Message | Silvio Quadri | 2008-01-29 13:47:04 | Fwd: [OT] Sugerencia para los administradores de la lista |