Query runs too long for indexed tables

From: "Andrus" <eetasoft(at)online(dot)ee>
To: pgsql-performance(at)postgresql(dot)org
Subject: Query runs too long for indexed tables
Date: 2006-04-04 19:37:18
Message-ID: e0ui0o$2v0m$2@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

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)

Andrus.

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Scott Marlowe 2006-04-04 19:48:48 Re: Query runs too long for indexed tables
Previous Message Mike Quinn 2006-04-04 17:18:30 Re: The order of fields around the "=" in the WHERE