8

例如,如果我要计算多台计算机上的“活动”并显示该活动的汇总,那么存储数据的数据库会是什么样子?

就这么简单?似乎太简单了。我想太多了。

ACTIVITYID  COUNT
----------  -----
4

4 回答 4

6

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

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

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

于 2008-09-23T01:43:03.840 回答
3

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

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

地铁。

于 2008-09-23T02:50:16.627 回答
0

是的,恐怕就是这么简单,假设您只对每个活动发生的次数感兴趣。填充该表后,您可以通过按计数和绘图进行排序来轻松创建结果的直方图

于 2008-09-23T01:09:20.490 回答
0

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

于 2008-09-23T01:13:35.067 回答