Re: Speed problems

From: Scott Marlowe <smarlowe(at)g2switchworks(dot)com>
To: Warren Bell <warren(at)clarksnutrition(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Speed problems
Date: 2005-09-13 18:59:09
Message-ID: 1126637949.12728.49.camel@state.g2switchworks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 2005-09-13 at 13:20, Warren Bell wrote:
> I am having problems with performance. I think this is a simple question and
> I am in the right place, if not, please redirect me.
>
> I have a table with 36 fields that slows down quite a bit after some light
> use. There are only 5 clients connected to this DB and they are doing mostly
> inserts and updates. There is no load on this server or db at all. This
> table has had no more than 10,000 records and is being accesessd at the rate
> of once per 5 seconds. It will slow down quite a bit. It will take 10
> seconds to do a `SELECT * FROM` query. I delete all records except one
> perform a VACUUM and this will not speed it up. I drop the table and
> recreate it and insert one record and it speeds right back up takeing only
> 100 ms to do the query.

This sounds like classic table / index bloat.

Are you updating all 10,000 rows every 5 seconds? Good lord, that's a
lot of updates. If so, then do a vacuum immediately after the update
(or a delete), or change the system so it doesn't update every row every
time.

Next time, try a vacuum full instead of a drop and recreate and see if
that helps.

>
> I am fairly new to Postgres. What do I need to do to keep this table from
> slowing down?

Vacuum this table more often. You might want to look at using the
autovacuum daemon to do this for you.

You might want to post a little more info on what, exactly, you're doing
to see if we can spot any obvious problems.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Eisentraut 2005-09-13 19:00:29 Re: Replication
Previous Message Ben 2005-09-13 18:56:28 Re: full outer join performance