From: Scott Marlowe <smarlowe@g2switchworks.com>
To: Andrus <eetasoft@online.ee>
Cc: pgsql-performance@postgresql.org
Subject: Re: Query runs too long for indexed tables
Date: Tue, 04 Apr 2006 14:48:48 -0500
Message-ID: <1144180128.32266.56.camel@state.g2switchworks.com> (raw)
In-Reply-To: <e0ui0o$2v0m$2@news.hub.org>
References: <e0ui0o$2v0m$2@news.hub.org>
On Tue, 2006-04-04 at 14:37, Andrus wrote:
> I have relatively small tables (toode and rid) in fast server.
> Both tables are indexed on toode field.
>
> Following query takes long time to run.
> toode field type is char(20). It is difficult to change this field type.
>
> Any idea how to speed up this query ?
>
> UPDATE firma1.rid SET toode=NULL
> WHERE toode IS NOT NULL AND
> toode NOT IN (SELECT TOODE FROM firma1.TOODE);
>
> Query returned successfully: 0 rows affected, 594813 ms execution time.
>
> explain window shows:
>
> Seq Scan on rid (cost=2581.07..20862553.77 rows=51848 width=1207)
> Filter: ((toode IS NOT NULL) AND (NOT (subplan)))
> SubPlan
> -> Materialize (cost=2581.07..2944.41 rows=14734 width=84)
> -> Seq Scan on toode (cost=0.00..2350.34 rows=14734 width=84)
Let me guess, you've updated it a lot and aren't familiar with Vacuum?
run a vacuum full on your database. schedule a vacuum (plain one) to
run every so often (hours or days are a good interval for most folks)
If that's NOT your problem, then please, let us know.
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: smarlowe@g2switchworks.com, eetasoft@online.ee
Subject: Re: Query runs too long for indexed tables
In-Reply-To: <1144180128.32266.56.camel@state.g2switchworks.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