哪一个是更好的数据库设计

时间:2016-07-11 09:02:31

标签: php mysql database

我正在构建一个包含作业日志的数据库

我现在有了这个数据库:

乔布斯:

id || job_name || etc...  

包含状态数据的作业日志

id || job_id || etc.. || job_status_id

获取当前作业状态我依赖于最后插入的状态,但这会导致更难的查询

我在想,如果我这样做: 作业:

id || job_name || etc...  || job_status_id  

但是这会导致重复数据,因为job_status_id已经存储

所以将job_status_id添加到jobs表而不是依赖于最后插入的状态来获取当前作业状态 这是更有效的(它还有其他任何好处)吗?或者我应该坚持我已经拥有的东西?

1 个答案:

答案 0 :(得分:0)

这取决于您的需要。如果它导致更复杂的查询以获得最后插入的状态,那么有一个作业状态ID是有意义的。我会使用ID,因为如果您需要查询该字段,您可以在其上抛出索引,如果它成为一个问题,我确定它听起来像最后插入状态计算作业状态。因此,初始插入或更新会创建作业状态,因此您不必每次都计算它。再说一次,如果您需要的是性能,那么更好的方法就是获得它。存储很便宜,而且我们正在谈论一个整数,所以它什么都没有。除非我们在这里谈论20ms之间的差异。 ;)