Re: Long-running DELETE...WHERE... - Mailing list pgsql-sql

From Chester Carlton Young
Subject Re: Long-running DELETE...WHERE...
Date
Msg-id 20020115020415.45801.qmail@web12702.mail.yahoo.com
Whole thread Raw
In response to Re: Long-running DELETE...WHERE...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Nice syntax.  Could not find in doc.  Do you have any ideas where I
could find it?

--- Tom Lane <tgl@sss.pgh.pa.us> wrote:
> jboes@nexcerpt.com (Jeff Boes) writes:
> > My situation: table A has 200,000 rows. I've made up a temporary
> table
> > which holds the single-valued primary key for 80,000 rows which I
> want
> > to delete.
> >   DELETE FROM a WHERE id IN (select ID from tmp LIMIT 800);
> > runs for several minutes.
> 
> WHERE ... IN ... is notoriously inefficient.  I'd try
> 
>     DELETE FROM aa WHERE id = tmp.id;
> 
> which is not standard SQL but should be able to produce a decent
> plan.
> 
> You might find that a VACUUM ANALYZE on both tables beforehand would
> be
> a good idea, too; never-vacuumed temp tables have some default
> statistics assumed that are a lot less than 80k rows.
> 
>             regards, tom lane
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly


__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: Long-running DELETE...WHERE...
Next
From: "Unnikrishnan Menon"
Date:
Subject: Date Time calculation help