From: Bill Moran <wmoran@collaborativefusion.com>
To: Laurent Manchon <lmanchon@univ-montp2.fr>
Cc: pgsql-performance@postgresql.org
Subject: Re: slow result
Date: Tue, 23 Jan 2007 08:53:25 -0500
Message-ID: <20070123085325.216d4a4c.wmoran@collaborativefusion.com> (raw)
In-Reply-To: <5.0.2.1.2.20070123113422.00d189e8@pop.univ-montp2.fr>
References: <5.0.2.1.2.20070123113422.00d189e8@pop.univ-montp2.fr>
In response to Laurent Manchon <lmanchon@univ-montp2.fr>:
>
> I have a slow response of my PostgreSQL database 7.4 using this query below
> on a table with 800000 rows:
>
> select count(*)from tbl;
>
> PostgreSQL return result in 28 sec every time.
> although MS-SQL return result in 0.02 sec every time.
>
> My server is a DELL PowerEdge 2600 with bi-processor Xeon at 3.2 Ghz
> with 3GBytes RAM
While there's truth in everything that's been said by others, the query
should not take _that_ long. I just tried a count(*) on a table with
460,000 rows, and it took less than a second. count(*) in PostgreSQL
is not likely to compare to most other RDBMS for the reasons others have
stated, but counting 800,000 rows shouldn't take 28 seconds.
The standard question applies: have you vacuumed recently?
> My PostgreSQL Conf is
> *********************
> log_connections = yes
> syslog = 2
> effective_cache_size = 50000
> sort_mem = 10000
> max_connections = 200
> shared_buffers = 3000
> vacuum_mem = 32000
> wal_buffers = 8
> max_fsm_pages = 2000
> max_fsm_relations = 100
>
> Can you tell me is there a way to enhence performance ?
On our 4G machines, we use shared_buffers=240000 (which equates to about
2G). The only reason I don't set it higher is that FreeBSD has a limit on
shared memory of 2G.
The caveat here is that I'm running a mix of 8.1 and 8.2. There have been
significant improvements in both the usage of shared memory, and the
optimization of count(*) since 7.4, so the first suggestion I have is to
upgrade your installation.
--
Bill Moran
Collaborative Fusion Inc.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: wmoran@collaborativefusion.com, lmanchon@univ-montp2.fr
Subject: Re: slow result
In-Reply-To: <20070123085325.216d4a4c.wmoran@collaborativefusion.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox