0

假设我有一个雇员表(拥有大约一百万名员工)和一个任务表(具有几百个任务)。将映射存储在数据库中的最佳方法

现在,我有一种机制来预测员工完成任务的可能性(百分比) - 假设我有四个这样的机制,并且每个机制输出它是自己的概率。

把它放在一起,我现在有n1(员工)时间n2(任务)时间n3(机制)结果存储。

我想知道什么是最好的方式来存储这些结果。

我有几个选择和想法:

  • 保持在任的员工任务表列(JSONField) - 关注:如果有一个更新整列数据更改值

  • 维护第三表预测与外键员工塔斯ķ与存储predicted_probability列 - 关注:是否必须存储N1 N2 * N3 *记录,我很担心可伸缩性和性能

感谢您的帮助。

PS:我使用Django与Postgres的

+0

存储过程分区表? – Tomm

+3

“预测”表是正确的方法。根据您访问数据的方式,表格的大小无关紧要。例如我希望阅读单个员工的预测具有相当稳定的表现。仅当需要处理所有行(或大部分行)时,大表往往会成为问题。如果您在测试时遇到性能问题,您可以根据任务或任务和机制对表进行分区(取决于您的查询的结构) –

+0

感谢@a_horse_with_no_name的评论。 请将它添加为答案,以便我可以将其标记为已回答。 – anilkumarggk

回答

0

predictions表是要走的正确途径。根据您访问数据的方式,表的大小无关紧要。例如我希望阅读单个员工的预测具有相当稳定的表现。仅当需要处理所有行(或大部分行)时,大表往往会成为问题。如果您在测试过程中遇到性能问题,您可以通过任务或任务和机制(取决于您的查询是如何结构化)

-Credits到也许@a_horse_with_no_name

相关问题