powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ускорение удаления
5 сообщений из 5, страница 1 из 1
Ускорение удаления
    #35142652
Ivan L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здрасти, вопрос Знатокам.
Дано Postgres 7.4, в нем табличка примерно 600000 записей, удаляем путем выполнения запроса позаписно (не я придумал :( ) при этом удаление 10000 записей занимает 18 часов, примерно 9 секунд на один statement.
Вопро как ускорить это безобразие.
PS. На таблице весят 2 индекса.
...
Рейтинг: 0 / 0
Ускорение удаления
    #35142867
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan L
удаляем путем выполнения запроса позаписно
PS. На таблице весят 2 индекса.
Убрать индексы, убрать внешние ключи. Не удалять по одной записи, удалять пачкой (на худой конец группировать удаления в транзакцию). Postgres 7.4 вышел 4 с лишним года назад, пора обновиться.
...
Рейтинг: 0 / 0
Ускорение удаления
    #35143015
deleter1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно удалял 18 млн записей.. Кусками гдето по 1 мл.н.. Заняло ~3-5 часов. PG 8.2. Если есть задача постоянно чистить таблицу - обновись и присмотрись к партиционированию. Там можно удалять миллионы записей за пару секунд удалением партиции.
...
Рейтинг: 0 / 0
Ускорение удаления
    #35143030
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan LВсем здрасти, вопрос Знатокам.
Дано Postgres 7.4, в нем табличка примерно 600000 записей, удаляем путем выполнения запроса позаписно (не я придумал :( ) при этом удаление 10000 записей занимает 18 часов, примерно 9 секунд на один statement.
Вопро как ускорить это безобразие.
PS. На таблице весят 2 индекса.
Что-то меня беспокоят эти цифры. 600 тыс. записей, это фигня для операции удаления, даже на 7.4.
1. Может на таблицу есть Constraint'ы? Для сравнения, есть таблица милионник, на нее более 150 внешних ключей (причем более половины каскадных), вот там действительно удаление одной записи занимает 8-10 секунд.
2. Делается ли VACUUM периодически?
3. Какое условие на удаление? Сколько времени выполняется запрос по этому же условию? Покажите план такого запроса.
4. Может действительно обрамлять удаление в транзакцию? По 100, 500 или 1000 записей?
...
Рейтинг: 0 / 0
Ускорение удаления
    #35145944
Ivan L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое всем спасибо за рекомендации, вчерась и сам к вечеру дошел до идеи пакетного удаления, что дало выигрыш в производительности во много раз :) с 18 часов до 40 секунд :( но это потребовало по итогам модернизации логики приложения написанного давно и не мной :), а на счет 7.4 :( это выкидыш еще известен как Линтер-ВС и менять его никто не даст :(
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ускорение удаления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]