报告优化问题

时间:2013-01-15 04:59:53

标签: java mysql mongodb report

我的网络应用程序中有6个报告。所有报告使用大约15个表连接的大查询,并且在向用户显示报告之前再次循环查询结果以进行一些计算。

这需要很长时间才能加载报告。我正在使用带Java的MySQL

解决此问题的最佳方法是什么?

  1. 如果缓存很好,那么可用的选项是什么?
  2. 我正计划创建一个表并将所有必需的数据插入到该表中,然后报表可以访问该表,如果可能的话,将数据加载到该表的最佳方式是什么?
  3. MongoDb或其他NoSql数据库可以修复此问题吗?
  4. 或者有没有标准的方法来做这些事情?

1 个答案:

答案 0 :(得分:1)

在查询前使用Explain并确定Joins是否正在使用任何索引。希望你通常以类似的方式加入你的表,所以如果你添加正确的索引,它应该加快它的速度。

例如,如果你有,

Select carrots FROM veggies
JOIN fruits ON fruits.color = veggies.color
WHERE veggies.weight=.5

您可能希望向color表中的fruits列添加索引,并为weight表的veggies列添加索引。