Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ускорение удаления
|
|||
|---|---|---|---|
|
#18+
Всем здрасти, вопрос Знатокам. Дано Postgres 7.4, в нем табличка примерно 600000 записей, удаляем путем выполнения запроса позаписно (не я придумал :( ) при этом удаление 10000 записей занимает 18 часов, примерно 9 секунд на один statement. Вопро как ускорить это безобразие. PS. На таблице весят 2 индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 20:38 |
|
||
|
Ускорение удаления
|
|||
|---|---|---|---|
|
#18+
Ivan L удаляем путем выполнения запроса позаписно PS. На таблице весят 2 индекса. Убрать индексы, убрать внешние ключи. Не удалять по одной записи, удалять пачкой (на худой конец группировать удаления в транзакцию). Postgres 7.4 вышел 4 с лишним года назад, пора обновиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 23:28 |
|
||
|
Ускорение удаления
|
|||
|---|---|---|---|
|
#18+
Недавно удалял 18 млн записей.. Кусками гдето по 1 мл.н.. Заняло ~3-5 часов. PG 8.2. Если есть задача постоянно чистить таблицу - обновись и присмотрись к партиционированию. Там можно удалять миллионы записей за пару секунд удалением партиции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 06:05 |
|
||
|
Ускорение удаления
|
|||
|---|---|---|---|
|
#18+
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 записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 06:44 |
|
||
|
Ускорение удаления
|
|||
|---|---|---|---|
|
#18+
Большое всем спасибо за рекомендации, вчерась и сам к вечеру дошел до идеи пакетного удаления, что дало выигрыш в производительности во много раз :) с 18 часов до 40 секунд :( но это потребовало по итогам модернизации логики приложения написанного давно и не мной :), а на счет 7.4 :( это выкидыш еще известен как Линтер-ВС и менять его никто не даст :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 23:07 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=275&tid=2004588]: |
0ms |
get settings: |
8ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 364ms |

| 0 / 0 |
