Django 条目归档

3 投票
1 回答
1026 浏览
提问于 2025-04-17 10:53

我有一个很大的表格(大约有400万条记录),里面存的是通过Django应用发送的电子邮件。随着这个表格越来越大,查询的速度也变得越来越慢。我想到了一个办法,就是把超过三个月的记录归档。

有没有人能给我一些关于如何实现这个想法的建议呢?

谢谢!

1 个回答

5

只需在数据库中再创建一个表,把消息移动到那里就可以了。例如:

在MySQL中运行 CREATE TABLE emails_archive LIKE emails;

然后在每天的定时任务中加入这个工作:

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));

就这样简单!

撰写回答