我有许多表级联的表,即projects
引用clients
和tasks
引用projects
。 task
中的某些列需要添加到引用的project
中的总计中。
我应该在total
中添加额外的projects
列,并在每次tasks
发生更改时更新其值吗?或者我应该在输出需要时计算总数?如果我需要client
的总计?
答案 0 :(得分:2)
我认为不能对这个问题作出一般性回答。如果您需要项目级别的总计,则需要评估是否值得为此创建一个列。
使用计算列可能很容易完成。
请记住,这将占用数据库上更多空间,并可能减慢插入/更新/删除操作的速度。另一方面,它也可能加速某些选择操作。
您需要了解您的需求,并决定这些权衡是否值得。
就个人而言,如果我没有看到性能问题并且SQL不是太难看,我可能会在需要时进行计算。