LINUX.ORG.RU

История изменений

Исправление vadv, (текущая версия) :

DELETE FROM table WHERE ctid IN ( SELECT ctid FROM table LIMIT 1 FOR UPDATE SKIP LOCKED) RETURNING *;

ну for update тоже пишет само по себе в данные :) так что тут удаление еще сильнее по диску бьет. замените на pg_try_xact_advisory и наверное order по индексу.

ну а и да, самое лучшее удаление это транкейт/дроп. так что если удаляете много - то либо партиция, либо через создание таблицы с переименованием.

Исходная версия vadv, :

DELETE FROM table WHERE ctid IN ( SELECT ctid FROM table LIMIT 1 FOR UPDATE SKIP LOCKED) RETURNING *;

ну for update тоже пишет само по себе в данные :) так что тут удаление еще сильнее по диску бьет. замените на pg_try_xact_advisory и наверное order по индексу.