假设我有一个员工表(约有一百万名员工)和一个任务表(包含几百个任务)。
现在,我有一个机制来预测员工完成任务的可能性(百分比) - 假设我有四个这样的机制,每个机制都输出它自己的概率。
总而言之,我现在有n1(员工)时间n2(任务)次n3(机制)结果存储。
我想知道存储这些结果的最佳方法是什么。
我有几个选择和想法:
在员工或任务表中维护列(JSONField) - 关注:如果其中一个值发生更改,则必须更新整个列数据
使用员工和任务的外键维护第三个表预测,并使用一列来存储 predict_probability < / em> - 关注:将要存储n1 * n2 * n3条记录,我担心可扩展性和性能
感谢您的帮助。
PS:我正在使用带有postgres的Django
答案 0 :(得分:0)
predictions
表是正确的方法。根据您访问数据的方式,表的大小无关紧要。例如我希望读一个单一员工的预测有一个非常稳定的表现。只有当您需要处理所有(或大部分)行时,大型表才会成为问题。如果您在测试后遇到性能问题,则可以例如按任务或按任务和机制对表进行分区(取决于查询的结构)
-Credits to @a_horse_with_no_name