我正在努力向我的网站添加一些统计信息。例如:'今日/周/年最常查看的主题'。
我需要一个表来保存与用户相关的每个视图(以避免同一用户添加许多视图)和线程,以及时间戳。
但那将是一个大表(成排)。这是要走的路吗?
答案 0 :(得分:0)
答案取决于许多因素,例如线程数,视图数,硬件,典型负载,读/写比,所需精度等等。
在不知道具体方案细节的情况下,对您的问题的合理答案是创建您所描述的表格:
thread_views(
thread_id references thread(thread_id)
,user_id references user(user_id)
,timestamp
,primary key(thread_id, user_id)
)
上述方法为典型场景提供了灵活性和足够好的性能。
我最近回答了两个类似的问题,您可以通过这些问题来了解一些想法。
Count article comments 和 Count visitor hits per day
最后一点是,许多主要数据库都包含聚合数据的工具。这些工具可以让您拥有标准化的数据模型,同时通过预先计算的统计表获得大部分好处。