Форум — Development Большое потребление памяти при Table.objects.all().delete() django, drf, python 0 1 Как этого избежать? Ссылка
Я удаляю порциями через cursor delete from price limit 1000 Либо выгребаю все id из таблицы, разбиваю на блоки по 1000 и удаляю по id ism ★★★ (16.11.20 23:57:06 MSK) Последнее исправление: ism 17.11.20 00:00:10 MSK (всего исправлений: 2) Ссылка
Ответ на: комментарий от t184256 16.11.20 23:42:27 MSK Лучше стараться удалять средствами ORM Джанги. Как уже сказали, просто разбивать на части. gruy ★★★★★ (17.11.20 08:09:41 MSK) Показать ответ Ссылка
Ответ на: комментарий от gruy 17.11.20 08:09:41 MSK Чем лучше? Kazun3500 ★ (17.11.20 08:59:43 MSK) Показать ответ Ссылка
Ответ на: комментарий от Kazun3500 17.11.20 08:59:43 MSK Да хоть те же сигналы pre_delete и post_delete могут быть привязаны к модели. gruy ★★★★★ (17.11.20 09:35:45 MSK) Показать ответы Ссылка
Ответ на: комментарий от gruy 17.11.20 09:35:45 MSK их делали не для bulk delete. по сабжу… выше уже написали - транкейт. не насилуйте базу своим итерированием. ergo ★★★★ (18.11.20 02:18:02 MSK) Ссылка
Ответ на: комментарий от gruy 17.11.20 09:35:45 MSK Да ну, мастурбация какая-то. А если там сотня-другая миллионов записей? Вопрос о том, нафига вообще всё удалять в таком случае, оставим за скобками. WitcherGeralt ★★ (18.11.20 21:14:00 MSK) Показать ответ Ссылка
Ответ на: комментарий от WitcherGeralt 18.11.20 21:14:00 MSK вот меня тоже терзают сомнения, зачем вообще удалять, а если удалять, то почему просто не грохнуть таблицу. Такой код мог родится только от плохого понимания того, как работает подсистема работы с дб в джанго. anonymous (18.11.20 23:07:19 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 18.11.20 23:07:19 MSK ТС, скорее всего, в процессе разработки нагенерил всякого говна в базе, а теперь не знает что с этим делать и лень с нуля уже нормально заполнить БД. gruy ★★★★★ (19.11.20 08:04:06 MSK) Ссылка