I tried the explain route, and it looks like the query acts by doing a
complete scan of the table, so not very efficient. Output of the EXPLAIN
was:
EXPLAIN select count(*) from person;
NOTICE: QUERY PLAN:
Aggregate (cost=22.50..22.50 rows=1 width=0)
-> Seq Scan on person (cost=0.00..20.00 rows=1000 width=0)
EXPLAIN
looks like I need to consult the system tables.
Tony
Duncan Adams (DNS) wrote:
>o yes i forgot u could try to see
>
>EXPLAIN select count(*) from <table>;
>
>but i still think tom is u'r best bet for this.
>
>Ok, this all depends on how postgresql does this query. If it (behind
>the scenes) does a call to a system table which holds a field for the
>count of each table then fine - nice and efficient. However if this does
>a scan of the appropriate table and counts the number of tuples then
>returns this figure, then this is a really expensive operation, and I
>need this to be fast.
>
>Tony
>
>Duncan Adams (DNS) wrote:
>
>>for the first part u might try
>>
>>select count(*) from <table>;
>>
>>-----Original Message-----
>>From: Tony Griffiths(RA) [mailto:griffitt@cs.man.ac.uk]
>>Sent: Thursday, May 30, 2002 2:01 PM
>>To: pgsql-novice@postgresql.org
>>Subject: [NOVICE] Accessing database statistics
>>
>>
>>Hi,
>>I need to write a query that returns the number of rows currently stored
>>in a table. I presume that I issue a query against the system tables,
>>but don't know which one(s) to do this against. So a couple of questions:
>>
>>1) With specific reference to my problem, how do I do this?
>>2) More generally, is there any where that gives detailed descriptions
>>of the system tables?
>>
>>Many thanks,
>>
>>
>>Tony
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 6: Have you searched our list archives?
>>
>>http://archives.postgresql.org
>>