Java 通过缓存mysql表更快地生成报告
我有一个mysql数据库,它是3NF(第三范式) web应用程序是用JAVA编写的 主表“Events”大约有120万行 应用程序支持许多基于事件中数据行的报告。 一些复杂的报告加载速度非常慢,即大约需要30秒到90秒。 生成报告所采取的步骤为Java 通过缓存mysql表更快地生成报告,java,mysql,sql,database,report,Java,Mysql,Sql,Database,Report,我有一个mysql数据库,它是3NF(第三范式) web应用程序是用JAVA编写的 主表“Events”大约有120万行 应用程序支持许多基于事件中数据行的报告。 一些复杂的报告加载速度非常慢,即大约需要30秒到90秒。 生成报告所采取的步骤为 检索用户选择的数据范围中的数据行。(查询经过优化以省去不相关的行) 我们必须对用户选择的数据范围内的每一行进行一些复杂的计算,然后 然后决定是否在报告中使用这些行 如果要使用它们,则进行进一步处理,以根据数据生成结果 由于“步骤2”我们必须对用户选择的数
PS事件表中的数据在插入后永远不会更新。因此,不反映在重复表中的更新问题不会出现。至少对于报告目的而言,数据聚合(例如存储计算的月度数字)是非常正常的。在以前执行的报告中创建缓存听起来相当复杂。不知道是否会更好。“我认为我们不能接受任何东西,而且大型项目中的陷阱或步骤对于本网站来说太广泛了。@JamesZ I pin指出了问题所在,指明了问题所在的确切步骤,并提出了解决问题的解决方案。我不是在征求任何一般性意见。我在问人们在面对这样的情况时会做什么。是我在其他项目中发现的解决方案。我花了相当多的时间在谷歌上搜索并提出了这个问题,这样那些有更多项目经验的人就可以分享他们的专业知识。