我想设置一个数据库来记录每个用户最近30天的信息。数据将每天记录一次(即通过cron作业),并将作为项目的价值(即不断变化)。php数据库 - 为每个用户存储30天的数据
什么是构建这个最好的方法?我正在考虑设置一张桌子,然后在表格中存储30天,并删除第31天,因为我使用cron作业添加了新的一天(并且将其他所有其他的一天添加了一天),但这看起来并不是很好高效..
感谢您的帮助。
我想设置一个数据库来记录每个用户最近30天的信息。数据将每天记录一次(即通过cron作业),并将作为项目的价值(即不断变化)。php数据库 - 为每个用户存储30天的数据
什么是构建这个最好的方法?我正在考虑设置一张桌子,然后在表格中存储30天,并删除第31天,因为我使用cron作业添加了新的一天(并且将其他所有其他的一天添加了一天),但这看起来并不是很好高效..
感谢您的帮助。
您可以做的是将每个条目的当前日期进行存储,然后在您的cron作业中删除大于三十天的所有条目。
例如(与MySQL),
DELETE FROM user_statistics WHERE DATEDIFF(NOW(), date_of_record) > 30;
将用户数据存储在自己的日期日期中,并在您超出限制时删除最早的日期。不需要转移任何东西。
我登录使用DATE
列实际日期。您可以在MySQL中轻松查询“最近30天”。
至于清除,cron作业可以很容易地删除超过30天的任何东西。或者,因为忽略超过30天的任何内容都很容易,所以甚至可以选择不删除较早的记录(至少不是每天)。