Database 我应该将总值写入数据库还是在需要时计算它们?

Database 我应该将总值写入数据库还是在需要时计算它们?,database,database-design,Database,Database Design,我有许多表是级联关系,即项目引用客户,以及任务引用项目。任务中有某些列需要添加到引用的项目中的总计中 我是否应该在项目中有一个额外的总计列,并在任务每次发生变化时更新其值?或者我应该在输出需要时计算总数吗?如果我需要一个客户机的总数怎么办?我认为这个问题不能给出一个一般性的答案。如果您需要项目级别的总计,则需要评估是否值得为此创建一列 用一个计算过的列可能很容易完成 请记住,这将占用数据库上更多的空间,可能会减慢插入/更新/删除操作。另一方面,它还可能加速某些select操作 你需要看看你的需求

我有许多表是级联关系,即
项目
引用
客户
,以及
任务
引用
项目
任务
中有某些列需要添加到引用的
项目
中的总计中


我是否应该在
项目
中有一个额外的
总计
列,并在
任务
每次发生变化时更新其值?或者我应该在输出需要时计算总数吗?如果我需要一个
客户机的总数怎么办?

我认为这个问题不能给出一个一般性的答案。如果您需要项目级别的总计,则需要评估是否值得为此创建一列

用一个计算过的列可能很容易完成

请记住,这将占用数据库上更多的空间,可能会减慢插入/更新/删除操作。另一方面,它还可能加速某些select操作

你需要看看你的需求是什么,并决定这些权衡是否值得

就我个人而言,如果我没有看到性能问题,SQL也不是太难看,我可能只会在需要时进行计算