我有点困惑,我们是否应该将派生值存储在DB中?例如:-如果要对员工薪资进行计算并将其显示在UI中。
有两种方法:-
方法1:-,每次我们需要在UI上显示时,我都会计算派生值。
方法2:-在持久化薪资本身时将派生值保存在单独的列中。
从性能的角度来看,方法2是好的,但从可维护性的角度来看,方法2是不好的。从可维护性的角度来看,这很糟糕,因为我必须维护额外的列。同样,对于方法1,从可维护性的角度来看,它是好的,但从性能的角度来看,它是不好的,而且每次我需要导出值时,都需要额外的工作。
哪种方法更好?每个矿井的理解,如果计算是复杂的,在多个地方使用,我们应该接近2,否则1。这是对的吗?
发布于 2017-04-13 12:58:41
通常不应存储派生值,除非:
存储派生数据称为反错误化。对于进一步的研究,您应该阅读关于为什么要正规化与非规范化数据的文章。
也请参阅这个问题:就数据库而言,“正确性规范化,性能去规范化”是一个正确的口号吗?
https://stackoverflow.com/questions/43392683
复制相似问题