Php 从缓慢的临时表进行复杂的会计计算

Php 从缓慢的临时表进行复杂的会计计算,php,mysql,Php,Mysql,我的任务是编写一个复杂的发票和账单系统,其中包含报表。数据库的结构是这样的,返回发票的总数和数字需要一个复杂的连接和计算字符串,这对故障排除很麻烦,并且对错误非常敏感 我没有在整个报告系统中生成一个长而复杂的查询库,而是选择使用一个临时表来执行必要的计算,并将数据保存在记录ID号旁边,以便在需要时和需要时加入。这使得编写系统代码变得更加容易,但也使数据库速度明显减慢,因为需要使用此临时表的每个页面都必须首先填充它 总之,我有一个报告系统,它必须能够显示一系列发票表中的计算数字。有谁能提供一种方法

我的任务是编写一个复杂的发票和账单系统,其中包含报表。数据库的结构是这样的,返回发票的总数和数字需要一个复杂的连接和计算字符串,这对故障排除很麻烦,并且对错误非常敏感

我没有在整个报告系统中生成一个长而复杂的查询库,而是选择使用一个临时表来执行必要的计算,并将数据保存在记录ID号旁边,以便在需要时和需要时加入。这使得编写系统代码变得更加容易,但也使数据库速度明显减慢,因为需要使用此临时表的每个页面都必须首先填充它


总之,我有一个报告系统,它必须能够显示一系列发票表中的计算数字。有谁能提供一种方法或解决方案来简化此过程而不影响我的服务器速度吗?

很难判断,因为您的描述太笼统了


可能的解决方案之一:如果您生成的报告允许有点过时,那么您可以创建一个常规表而不是临时表,并根据需要使用事件计划程序(例如,每天或每小时一次)将所有信息填充到该表中。

您使用的查询可能会导致代码缓慢。它们每一个都对服务器有影响,我们通常只需几秒钟;但这些可以加起来。发布一段代码供参考我已经考虑过了。如果我注释掉生成此表的进程,则每次都会获得正常的页面生成速度。如果我调用temp表,页面加载会额外增加4到6秒,生成大约7000条计算记录。这不是慢代码。我会添加一些代码,如果我需要帮助解决一些问题。现在,我要求一个更好的方法。我希望你有一个明显的索引来匹配加入条件。。。只是问…是的,我仔细检查了索引。太普通了?我不知道我能说清楚多少。我正在使用计算字段生成报告。获得这些计算结果的过程太繁琐,无法在一千个地方完成。相反,我只在一个地方做,但每页要填充7000多条记录,速度太慢了。更好的办法是什么?这就是问题所在。我考虑过写一个cron,它可以实现您所描述的功能,如果没有更好的选择,可能会求助于它。