Re: Sub-selects taking way too long..

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Alexis Maldonado <amaldona(at)ctcd(dot)cc(dot)tx(dot)us>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Sub-selects taking way too long..
Date: 2002-04-09 20:56:23
Message-ID: 20020409135434.K98278-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 9 Apr 2002, Alexis Maldonado wrote:

> Ok.. I know its provably something im doing dumb..
> but here it goes..
>
> I have 2 tables that are the same:
>
> "temp_table" and "table"
>
> "temp _table" has 7,761 rows and "table" is empty
>
> the columns for both tables are: ID (primary key sequence), index, column1,
> column2
>
> when i run:
>
> Insert Into table
> select index, column1, column2
> from temp_table
> where index NOT IN (select index from table)

IN is unfortunately implemented slowly (I think the FAQ answer has more
details)

You can often get better performance using exists, I think the equivalent
would be:
insert into table
select index, column1, column2 from temp_table
where NOT EXISTS (select * from table where table.index=temp_Table.index)

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Justin Clift 2002-04-09 21:04:28 More UB-Tree patent information
Previous Message Stephan Szabo 2002-04-09 20:54:21 Re: table alias nor valid for delete