Re: Poor performance on very simple query ?

From: Alexander Staubo <alex(at)purefiction(dot)net>
To: Arnaud Lesauvage <thewild(at)freesurf(dot)fr>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Poor performance on very simple query ?
Date: 2006-10-03 12:08:03
Message-ID: 3B2D7EC8-8E9B-46A3-A15F-4F554E10EA3B@purefiction.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Oct 3, 2006, at 13:25 , Arnaud Lesauvage wrote:

> The problem is that simple select queries with the primary key in
> the WHERE statement take very long to run.
> For example, this query returns only 7 rows and takes about 1
> second to run !
> SELECT * FROM table1 WHERE gid in (33,110,65,84,92,94,13,7,68,41);

This is a very small table, but generally speaking, such queries
benefit from an index; eg.,

create index table1_gid on table1 (gid);

Note that PostgreSQL may still perform a sequential scan if it thinks
this has a lower cost, eg. for small tables that span just a few pages.

> I have run "VACUUM FULL" on this table many times... I don't know
> what to try next !

PostgreSQL's query planner relies on table statistics to perform
certain optimizations; make sure you run "analyze table1".

Alexander.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tobias Brox 2006-10-03 12:10:04 Re: Poor performance on very simple query ?
Previous Message Arnaud Lesauvage 2006-10-03 12:04:22 Re: Poor performance on very simple query ?