保存复杂的MySQL查询/报告的结果

时间:2011-07-13 10:28:52

标签: mysql save

我正在寻找实施以下内容的最佳方式。

我有一个MySQL查询,可以分析公司的绩效,并输出销售额,收入,成本等,并基本上输出最终的毛利润和净利润数字。它运作良好,管理人员可以选择任何日期范围来运行它,它将输出该范围内的所有内容 - 因此他们理论上可以看到公司今天,昨天,本周,上个月或三十七日的表现几个月前......你明白了。

然而,当报告中使用的某些数字是可变的,并且涉及外部成本波动(例如间接费用等)时,会出现问题。我允许用户在设置表中指定这些成本和开销,性能查询使用这些来计算它的数字。但是这些变量数字代表现在,所以如果你想看看过去X个月/年的公司业绩,当今的管理费用被抵消时会产生不准确

我想到了几个解决方案。

  1. 我可以让管理者设置一个日期范围来应用开销。例如,2011年6月,每日管理费用为2000英镑,而2011年7月的管理费用为2250英镑。
  2. 或者我可以将性能报告/查询保存到另一个表中,这显然会从运行时锁定变量数字。这甚至可以通过crontab实现自动化,也许每晚都会运行。
  3. 你会推荐哪种方式?

1 个答案:

答案 0 :(得分:2)

如果我是你,我会使用第一个选项(1),并创建一个表来存储特定日期的延迟开销。这对于您在任何时间点对照桌面上的纯/“处女”数据运行任何类型的查询都会更加灵活。

另一方面,第二个选项对我来说似乎不可行,因为您无法在不同的日期范围内计算所需的查询和报告的所有复杂性。