我正在构建一个包含作业日志的数据库
我现在有了这个数据库:
乔布斯:
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表而不是依赖于最后插入的状态来获取当前作业状态 这是更有效的(它还有其他任何好处)吗?或者我应该坚持我已经拥有的东西?
答案 0 :(得分:0)
这取决于您的需要。如果它导致更复杂的查询以获得最后插入的状态,那么有一个作业状态ID是有意义的。我会使用ID,因为如果您需要查询该字段,您可以在其上抛出索引,如果它成为一个问题,我确定它听起来像最后插入状态计算作业状态。因此,初始插入或更新会创建作业状态,因此您不必每次都计算它。再说一次,如果您需要的是性能,那么更好的方法就是获得它。存储很便宜,而且我们正在谈论一个整数,所以它什么都没有。除非我们在这里谈论20ms之间的差异。 ;)