Django 条目归档
我有一个很大的表格(大约有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));
就这样简单!