Re: Please consider removing "select count(*)..."

From: "Yurgis Baykshtis" <ybaykshtis(at)aurigin(dot)com>
To: "Andreas Pflug" <Andreas(dot)Pflug(at)web(dot)de>, "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>, <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Please consider removing "select count(*)..."
Date: 2003-05-23 22:53:42
Message-ID: 56510AAEF435D240958D1CE8C6B1770A0138A584@mailc03.aurigin.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

> Yurgis, you seem to have large tables, which default threshold seems
> reasonable to you? 10k rows? 100k?

I have tables with just 200K rows. I did not really expect Postgres to
perform so poorly. So, I think the lower the default threshold the
better.

-----Original Message-----
From: Andreas Pflug [mailto:Andreas(dot)Pflug(at)web(dot)de]
Sent: Friday, May 23, 2003 3:49 PM
To: Dave Page; pgadmin-hackers(at)postgresql(dot)org; Yurgis Baykshtis
Subject: Re: [pgadmin-hackers] Please consider removing "select
count(*)..."

Dave Page wrote:

>
>
>>-----Original Message-----
>>From: Yurgis Baykshtis [mailto:ybaykshtis(at)aurigin(dot)com]
>>Sent: 23 May 2003 19:46
>>To: pgadmin-hackers(at)postgresql(dot)org
>>Subject: [pgadmin-hackers] Please consider removing "select
>>count(*)..."
>>
>>
>>In both pgAdmin 2 and 3, whenever I click on a table node in
>>the object tree, for a table with relatively big number of
>>rows, it's taking a very long time to update the property
>>panel (up to a few minutes with very high CPU load by the
>>postgres process) making practically impossible usage of the
>>tool. The reason is in the "select count(*)" query pgAdmin
>>use to get table row count.
>>I am not sure whether there is another way to count table
>>rows in Postgres, but I see it does not like 'select
>>count(*)' much for large tables.
>>
>>I just commented out this query for myself forcing row count
>>field to be always zero and it works just fine for me.
>>
>>
>
>Hi Yurgis,
>
>I've now added an option for this to the pgAdmin III CVS.
>
>
Didn't think this would be an issue so early.
I planned to implement this with a threshold level. We have
rowsEstimated, which should (hopefully) be more or less up-to-date if
VACUUMed properly, and if e.g. 100,000 rows (configurable) are exceeded
a count(*) is suppressed and only performed on explicit refresh.

Yurgis, you seem to have large tables, which default threshold seems
reasonable to you? 10k rows? 100k?

Regards,
Andreas

Browse pgadmin-hackers by date

  From Date Subject
Next Message Yurgis Baykshtis 2003-05-24 00:24:12 Two fixes for pgadmin III...
Previous Message Andreas Pflug 2003-05-23 22:48:43 Re: Please consider removing "select count(*)..."