我们有一个表,我们必须为不同的字段组合提供许多计数。 这需要花费很长时间才能实现,并且不提供历史数据,所以我想以最佳方式将这些计数存储在另一个表中,并带有时间戳,因此我们可以快速查询它们了解历史趋势。 对于每个计数,我们需要4条信息来识别它,并且我们想要存储大约1000种不同的指标。 我考虑了三种不同的策略,有计数和时间戳,但在如何识别检索计数方面有所不同。
我和第一个人一起去,根本没有正常化,但想知道是否有人有更好或更简单的方法存储所有这些。
值的示例: 状态,安装所有的,虚拟的1234,01 / 05/2015
谢谢, 艾萨克
答案 0 :(得分:1)
当您拥有大量指标并且不需要使用它们来进行指标内计算时,您可以选择1.解决方案。
我可能会像这样构建一个表
Satus_id | Installed_id | All_id | Virtual_id | Date | Value
或者,如果前四列的组合具有正确的名称,我可能会创建两个表(我认为你将这种可能性称为第二个解决方案与2):
Metric Table
Satus_id | Installed_id | All_id | Virtual_id | Metric_id | Metric_Name
Values Table
Metric_id | Date | Value
如果您有指标或其他详细信息的名称,那么这是很好的,否则您将需要使用第一种方法复制每种组合。
在这两种情况下,使用不同的指标进行行内操作会有点复杂,因此这种方法仅适用于高级KPI。
最后,因为最后两个字段的所有可能组合始终存在于您的表中,您可以考虑将它们转换为列:
Satus_id | Installed_id | Date | All1_Virtual1 | All1_Virtual2 | ... | All10_Virtua30
有10个全部值和30个虚拟值,你将拥有300列,不是很容易处理,但如果你必须这样做,它们将是值得的:
(All1_Virtual2 - All5_Virtual23) * All6_Virtual12
但在这种情况下,我希望(如果可能的话)提前进行计算以减少列数。