php数据库 - 为每个用户存储30天的数据

时间:2013-03-29 18:38:03

标签: php sql phpmyadmin

我正在尝试设置一个数据库来记录每个用户最近30天的信息。数据将每天记录一次(即通过cron作业),并且将是项目的价值(即不断变化)。

构建这个的最佳方法是什么?我正在考虑设置一个表,然后只是将30天存储在表中并删除第31天,因为我用cron作业添加新的一天(并且将所有其他日期转移到一天)但这似乎不是很好高效..

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

您可以做的是存储每个条目的当前日期,然后在您的cron作业中删除所有超过30天的条目。

例如(使用MySQL),

DELETE FROM user_statistics WHERE DATEDIFF(NOW(), date_of_record) > 30;

答案 1 :(得分:2)

使用自己的日期存储用户数据,并在超出限制时删除最旧的数据。无需改变任何东西。

答案 2 :(得分:2)

我使用DATE列按实际日期记录。您可以查询"过去30天"很容易在MySQL中。

对于清除,cron作业也可以很容易地删除超过30天的任何内容。或者,由于它很容易忽略超过30天的任何内容,您甚至可能选择不删除旧记录(至少不是每天都删除)。