0

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

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

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

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

1 回答 1

1

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

例如,如果你有,

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

您可能希望为表中的列添加索引,并为表中color的列添加索引。fruitsweightveggies

于 2013-01-15T05:21:38.653 回答