From: | "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu> |
---|---|
To: | "Zhang, Anna" <azhang(at)verisign(dot)com> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: tuning SQL |
Date: | 2002-01-29 18:46:06 |
Message-ID: | 20020129184606.GA2068@rice.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Tue, Jan 29, 2002 at 12:23:17PM -0500, Zhang, Anna wrote:
> Thanks Peter Darley, Ross J. Reedstrom and Tom lane!!
> How silly am I! Your messages reminds me. Actually I want to insert rows of
> contact_discard table which are not exists in contact table to contact table
> (some duplicates in two tables), first I run
>
> insert into contact
> select * from contact_discard a
> where not exists ( select 1 from contact b where b.contacthandle =
> a.contacthandle);
>
> It seems takes forever, I killed it after hours(note: contact table has 4
> indexes). Then I tried to figure out how many rows that are not duplicated.
> Now my problem turns to insert performance, in oracle it takes only a few
> minues.
So, how long does the just the select take? You might be running into
something odd with selecting from and inserting into the same table: I'm
not sure of the visibility rules here. You might be better off selecting
into a new temp table (see: SELECT INTO) then inserting from that.
Ross
From | Date | Subject | |
---|---|---|---|
Next Message | Ross J. Reedstrom | 2002-01-29 19:24:55 | [azhang@verisign.com: RE: tuning SQL] |
Previous Message | Zhang, Anna | 2002-01-29 17:23:17 | Re: tuning SQL |