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

标签 mysql save

我正在寻找实现以下内容的最佳方法。

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

然而,当报告中使用的某些数字是可变的,并且涉及波动的外部成本(例如管理费用等)时,就会出现问题。我允许用户在设置表中指定这些成本和间接费用,性能查询使用这些来计算其数字。但这些可变数字代表现在,因此,如果您想查看过去 X 个月/年的公司业绩,而今天的管理费用被抵消,从而造成不准确,那么这些数字就没有任何意义.

我想到了几个解决方案。

  1. 我可以允许经理设置一个日期范围来应用管理费用。例如,2011 年 6 月,每日管理费用为 2000 英镑,而 2011 年 7 月,每日管理费用为 2250 英镑。
  2. 或者我可以将性能报告/查询保存到另一个表中,这显然会从运行时开始锁定变量数字。这甚至可以通过 crontab 自动化,并且可能每晚运行一次。

您推荐哪种方式?

最佳答案

如果我是您,我会选择第一个选项 (1),并创建一个表来存储特定日期的延迟间接费用。这对于您在任何时间点针对表上的纯/“原始”数据运行任何类型的查询会更加灵活。

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

关于mysql - 保存复杂MySQL查询/报告的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677495/

相关文章:

mysql - $http.POST 不适用于 DATETIME 数据类型(AngularJS、Spring 4.2、MySQL、Hibernate)

mysql - #1062 - key '19' 的重复条目 'PRIMARY'

当我在真正的三星 galaxy s3 上拍照时 Android 崩溃

php - 只从mysql生成一次数据然后保存?

javascript - 在 Ipad 上保存 Canvas 图像

Android 日历应用程序和后退按钮

mysql - 条件为 'NOT IN' 的查询太慢

php - 与 mysql 一起使用的泰语插入问题

mysql - 我可以控制在 UPDATE 中使用哪个 JOINed 行吗?

vb.net - 如何防止Image.FromFile()方法锁定文件