Re: Long-running DELETE...WHERE...

Поиск
Список
Период
Сортировка
От Frank Bax
Тема Re: Long-running DELETE...WHERE...
Дата
Msg-id 3.0.6.32.20020115142250.009b3970@pop6.sympatico.ca
обсуждение исходный текст
Ответ на Re: Long-running DELETE...WHERE...  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
At 08:21 PM 1/14/02 -0500, Tom Lane 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.

Nice alternative.  Is there an alternate format for this one:

DELETE  FROM  teamwork  WHERE  emp  NOT IN   ( SELECT  DISTINCT  emp  FROM  timesheet      WHERE  lo_shift >
(now()-'90days'::interval))
 

Frank



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Steve Boyle \(Roselink\)"
Дата:
Сообщение: Re: Hierarchical queries
Следующее
От: jboes@nexcerpt.com (Jeff Boes)
Дата:
Сообщение: Long-running DELETE