Мне нужно удалить около 2 миллионов строк из моей базы данных PG. У меня есть список идентификаторов, которые мне нужно удалить. Тем не менее, любой способ, которым я пытаюсь это сделать, - это занять несколько дней.
Я попытался поместить их в таблицу и сделать это партиями по 100. Через 4 дня это все еще выполняется, удалив только 297268 строк. (Мне нужно было выбрать 100 идентификаторов из таблицы идентификаторов, удалить там, где IN в этом списке, удалить из таблицы идентификаторов 100, которые я выбрал).
Я пробовал:
DELETE FROM tbl WHERE id IN (select * from ids)
Это тоже навсегда. Трудно определить, сколько времени, так как я не вижу его прогресса до завершения, но запрос все еще работает через 2 дня.
Просто найдите наиболее эффективный способ удаления из таблицы, когда я знаю, какой идентификатор удаляется, и есть миллионы идентификаторов.