Re: Long-running DELETE...WHERE...
От | Chester Carlton Young |
---|---|
Тема | Re: Long-running DELETE...WHERE... |
Дата | |
Msg-id | 20020115020415.45801.qmail@web12702.mail.yahoo.com обсуждение исходный текст |
Ответ на | Re: Long-running DELETE...WHERE... (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: