【发布时间】:2016-07-11 09:02:30
【问题描述】:
我正在构建一个包含作业日志的数据库
我现在有这个数据库:
工作:
id || job_name || etc...
包含状态数据的作业日志
id || job_id || etc.. || job_status_id
要获得当前的工作状态,我依赖于最后插入的状态,但这会导致更难的查询
我在想,如果我这样做: 工作:
id || job_name || etc... || job_status_id
但这会导致重复数据,因为 job_status_id 已经存储
因此将 job_status_id 添加到作业表中,而不是根据最后插入的状态来获取当前作业状态 这是更有效的方法吗(它还有其他好处吗)?还是我应该坚持我已经拥有的?
【问题讨论】:
-
取决于我猜需要什么样的应用程序
-
两种解决方案都是可行的。如果您将最后一个
job_status_id添加到Jobs中,那么以后从中进行选择会更容易和更快(没有 jons 和复杂的 SQL 逻辑。但是您必须确保最后一个状态始终是正确,即在 job_logs 上实现触发器来更新它。插入和更新会慢一点。