我想每天为我网站上的某些流程保存指标(统计信息),以便稍后在图表中显示。度量标准的示例可能是:
FacebookLikes
SiteVisitors
现在我想知道如何设计MySQL表。 - 我是否应该保存“DeltaFacebookLikes”和“DeltaSiteVisitors” - 或者我是否应该保存每个条目不断增长的绝对数字:
ID DATE FACEBOOK_LIKES SITE_VISITORS
第一个例子(保存delta值)将是:
这里的问题是我永远不会有“总”值 - 除非我总结一下。
1 23.10 33 50
2 24.10 14 80
3 25.10 12 5
4 26.10 28 105
第二个例子(保存绝对值)将是:
这里的问题是我有总值,但我需要从v(x + 1)中减去v(x)来存档实际的delta值。
1 23.10 33 50
2 24.10 47 130
3 25.10 59 135
4 26.10 87 240
什么是正确/错误的方式?有没有错误的方法?
或者让两者结合起来?
答案 0 :(得分:2)
我不认为这个问题有正确的答案,但我的直觉是每天存储增量数字。
存储累积数字可能非常有效。只需在表格中查找两个值,您就可以轻松获得两天之间的差异。如果您的用户在任意时间范围内询问Facebook喜欢的数量,那么这一点尤其有效。
另一方面,个别数字还有其他一些优势:
因此,从分析的角度来看,我会发现独立的日常测量是更好的选择。当然,您可以轻松地从一个转换为另一个,因此最佳选择可能取决于用户访问模式。