我的投票系统实际上很简单。
vote_id,user_id,article_id
我现在需要能够每天,每周,每月,每年永久地获取最佳投票文章。
我虽然可以添加DATETIME列然后使用mysql函数来检索BETWEEN或其他东西的投票,并使用DATE INTERVAL和其他DATE OPERATIONS。
我还认为我可以非常规化并存储“一年中的某一天”,“一年中的一周”,“一年中的一个月”,“年份”,在性能列中,我将能够轻松获取投票给定的一天或一个月。
另外,我想知道我是否需要从日历的角度来看,这意味着“每月”可能不是从“1到31”,而是从“12到12”跨越两个月。< / p>
任何想法/反馈?
答案 0 :(得分:1)
如果提供数据的最小单位是一天,那么我将从DATE列和SQL查询开始,以确定每个时间间隔的投票数。
如果数据量不足,您可以优化。您可以使用不同的表结构来存储每个句点的总计,而不是添加列。然后将对插入执行计算,而不对每个选择执行计算。
关于日历月,这取决于系统的要求。
无论您使用哪种选项,请务必考虑用户和服务器的不同时区的影响!