【发布时间】:2011-02-17 17:22:21
【问题描述】:
我有一个数据库,用于跟踪员工当年和往年的数据。 在下面的示例中,我将使用日历年(年份从 1 月开始,到 12 月结束)- 情况并非总是如此,有些用户的年份从 7 月到 6 月,或从 4 月到 3 月,等等。
有许多表,经过一些繁重的计算,可以查看员工此时的数据。
今年的数据是用户最关注的数据。但是前几年的数据会影响今年(因此,对 2008 年数据的更改会在 2009 年产生连锁反应,然后到 2010 年,以此类推今年)。
显然,这会对查看报告时的性能产生负面影响,因为查看今年的数据将意味着要在过去的所有年份中跋涉 - 计算和创建视图,直到找到最终结果。随着应用程序的老化,这个问题会变得越来越严重——比如说在 2015 年,任何从系统启动(2008 年)开始使用该系统的人都将等待很长时间才能获取他们的数据。
我们计划冻结前几年的数据,而不是拥有 2008 年、2009 年、2010 年的数据和今年的数据 - 我们将拥有一个包含上一年数据(所有前几年的所有计算完成)和今年数据的块.
这样一来,我们就可以计算出所有上一年的最终结果数据,我们只需要添加到今年即可得到最终结果。
显然,我们必须阻止用户输入/更新前几年的数据。
我的问题是实现这一目标的最佳方法是什么?我想你需要一些等到新年并进行一些计算的过程。
提前致谢,
毒蛇人。
【问题讨论】: