Архивация записей Django - PullRequest
2 голосов
/ 23 января 2012

У меня довольно большая таблица (около 4 миллионов записей) для писем, отправляемых приложением Django.Чем больше он растет, тем медленнее запросы.Мне пришла в голову идея архивировать записи старше 3 месяцев.

Может ли кто-нибудь дать какой-нибудь совет по реализации этого?

Спасибо.

1 Ответ

3 голосов
/ 23 января 2012

Просто создайте другую таблицу в базе данных и переместите туда сообщения.Например:

Запустите CREATE TABLE emails_archive LIKE emails; в MySQL.

Затем добавьте в ежедневный журнал следующее задание:

INSERT INTO emails_archive (SELECT * FROM emails WHERE sent_at < DATE_SUB(NOW(), 1 MONTH));
DELETE FROM emails WHERE sent_at < DATE_SUB(NOW(), 1 MONTH));

Вот оно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...