如果我是,例如,去计算“活动”跨越许多计算机并显示该活动的汇总,数据库将如何存储数据?

这个?似乎太简单了。我在想这个。

ACTIVITYID  COUNT
----------  -----
有帮助吗?

解决方案

如果音量不会太大,我可能会创建一个表单独记录每个事件,使用@Turnkey建议的DateTime,以及可能记录它的机器等。

LOGID (PK)  ACTIVITYID  SOURCE  DATELOGGED
----------  ----------  ------  ----------

这将使您能够运行查询以获取当前计数,还可以使用数据来确定某个时间段内的事件和/或来自特定计算机的事件。 ActivityID上的聚簇索引应该可以提供良好的查询性能,并且表格很窄,因此插入的成本不会太高。

其他提示

我认为实际活动会在日志记录表中创建至少具有ActivityId和ActivityDate的某种类型的记录。另一列可能是创建日志条目的计算机的标识符。

然后,您可以通过聚合指定时间段内的活动记录来创建计数。

地铁。

是的,我担心这很简单,假设您只对每项活动发生的次数感兴趣。填充完该表后,您可以轻松创建,例如,结果的直方图通过对计数和绘图进行排序。

我认为您可以添加一个DateTime字段,以便您可以在特定时间间隔之间报告事件,或至少知道最后一次活动计数的时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top