From: | Christian Rudow <Christian(dot)Rudow(at)thinx(dot)ch> |
---|---|
To: | PostgreSQL SQL <pgsql-sql(at)postgreSQL(dot)org> |
Subject: | NOT IN clause performing badly |
Date: | 1999-07-26 09:09:07 |
Message-ID: | 379C25B3.A86C31F8@thinx.ch |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I have a problem with NOT IN queries
------------------------------------
Has anyone experinced the same problem, or even found a solution to it ?
-- simple NOT IN clause does not perform
-- create a table with an integer primary key and any number and type
of attributes.
-- load approx. 10'000 records and vacuum;
-- then select a subset of say 8000 id's into a seperate table.
-- now try to find out the Id's of the remaining 2000 records
-- I would use a NOT IN clause
-- but this is what happens :
drop table tempx1;
select mytable.id
into table tempx1
from mytable, othertable
where mytable.id = othertable.id
and othertable.someattribute = "Somevalue";
-- this will take only a few seconds
-- on platform : PG6.4 SusE 6.0 PII/300mhz
-- rdbms startup : su - postgres -c with parameters :
-- "/sbin/startproc -l $LOGFILE $H -B 256 -i -o -F -D$DATADIR"
-- select count(*) from tempx1 : now returns 8000 rows
select id from mytable
where id NOT IN (
select id from tempx1
);
-- this will take some 100 minutes at least !!!
-- but it does finish ! no crash or hangup.
-- NOTICE: QUERY PLAN:
-- Seq Scan on mytable (cost=958.89 size=10000 width=4)
-- SubPlan
-- -> Seq Scan on tempx1 (cost=0.00 size=0 width=4)
--
-- an index on mytbale(id) exists.
Questions
---------
Is this a known problem ?
What is causing the problem ?
Is it a problem of RDBMS parameters ?
Is there an alternative to the NOT IN clause ?
I'd appreciate any help in this matter.
ThanX
Chris
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Christian Rudow E-Mail: Christian(dot)Rudow(at)thinx(dot)ch
ThinX networked business services Stahlrain 10, CH-5200 Brugg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Wieck | 1999-07-26 09:28:44 | Re: [SQL] ERROR: DefineQueryRewrite: rule plan string too big. |
Previous Message | Adriaan Joubert | 1999-07-26 06:57:18 | Re: [HACKERS] Re: [SQL] inserts/updates problem under stressing ! |