Re: how to speed up query

Поиск
Список
Период
Сортировка
От Erwin Brandstetter
Тема Re: how to speed up query
Дата
Msg-id 1181402070.769668.269750@q75g2000hsh.googlegroups.com
обсуждение исходный текст
Ответ на Re: how to speed up query  (Erwin Brandstetter <brsaweda@gmail.com>)
Ответы Re: how to speed up query
Список pgsql-general
On Jun 9, 12:15 am, Erwin Brandstetter <brsaw...@gmail.com> wrote:
> 3.) Write results of the subquery in a temp table, then DELETE:
>
> CREATE TEMP TABLE mydel AS SELECT DISTINCT dokumnr  FROM firma1.rid;
> DELETE FROM firma1.dok USING mydel WHERE firma1.rid.doumnr =
> mydel.doumnr;

Ah! 3.) should read:
CREATE TEMP TABLE mydel AS SELECT DISTINCT dokumnr  FROM firma1.rid;
DELETE FROM firma1.dok WHERE dokumnr NOT IN (SELECT dukumnr FROM
mydel);

Or 4.)
If "NOT IN" should be the culprit, there is an alternative:
( I seem to remember issues with its performance in the past, but
hasn't that been improved? Not sure.)
Haven't tested, whether the temp table is useful here:

CREATE TEMP TABLE mydel AS
SELECT d.dokumnr
FROM firma1.dok d
LEFT JOIN (SELECT DISTINCT dokumnr FROM firma1.rid) r USING (dokumnr)
WHERE r.dokumnr IS NULL;
DELETE FROM firma1.dok USING mydel WHERE firma1.dok.doumnr =
mydel.documnr;


Regards
Erwin


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: insane index scan times
Следующее
От: Andreas
Дата:
Сообщение: odbc with encrypted ssl key?