From: hubert depesz lubaczewski <depesz@depesz.com>
To: Marcin Citowicki <marcin.citowicki@m4n.nl>
Cc: pgsql-performance@postgresql.org
Subject: Re: query performance question
Date: Tue, 3 Jun 2008 10:31:46 +0200
Message-ID: <20080603083146.GB17220@depesz.com> (raw)
In-Reply-To: <4844F95B.4040009@m4n.nl>
References: <4844F95B.4040009@m4n.nl>
On Tue, Jun 03, 2008 at 09:57:15AM +0200, Marcin Citowicki wrote:
> I'm not a dba so I'm not sure if the time it takes to execute this query
> is OK or not, it just seems a bit long to me.
This is perfectly OK. count(*) from table is generally slow. There are
some ways to make it faster (depending if you need exact count, or some
estimate).
> I'd appreciate it if someone could share his/her thoughts on this. Is
> there a way to make this table/query perform better?
You can keep the count of elements in this table in separate table, and
update it with triggers.
> Any query I'm running that joins with transactions table takes forever
> to complete, but maybe this is normal for a table this size.
As for other queries - show them, and their explain analyze.
Performance of count(*) is dependent basically only on size of table. In
case of other queries - it might be simple to optimize them. Or
impossible - without knowing the queries it's impossible to tell.
Do you really care about count(*) from 60m+ record table? How often do
you count the records?
Best regards,
depesz
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: depesz@depesz.com, marcin.citowicki@m4n.nl
Subject: Re: query performance question
In-Reply-To: <20080603083146.GB17220@depesz.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