我有一个新闻文章表,其中包含作者、发布时间和每篇文章的字数。该表相当大,包含超过 100 万个条目,并且每天以 10.000 个条目的数量增长。
基于这些数据,进行统计分析,以确定特定作者在特定时间窗口(即每天每小时一个、每天一个、每个月一个)中发表的总字数一个时间跨度的平均值。这里有两个例子:
- 作者 A 2011-11-04 发表 3298 字,前两个月平均每天发表 943.2 字(2011-09-04 至 2011-11-03)
- 作者 B 2012-01-21 下午 1 点到 2 点之间发表 435 字,前 30 天每天下午 1 点到 2 点平均发表 163.94 字
当前的做法是通过 cron-job 在每个定义的时间窗口结束时启动一个脚本,该脚本计算计数和平均值并将其存储在每个时间窗口的单独表中(即每个小时窗口一个,一个用于每天一次,每个月一次等等……)。
总和和平均值的计算可以很容易地在 SQL 中完成,所以我认为 Views 可能是一个更优雅的解决方案,但我不知道对性能的影响。
视图是上述问题的适当解决方案吗?