我们有一个报告,用户可以运行,需要从5种不同的服务中选择记录。没错,我使用UNION在一个查询中组合所有表,但有时,它对服务器来说太多了,它崩溃了! 我优化了查询的各个部分(其中和表连接)并且之后没有任何崩溃,但报告仍然需要很长时间才能加载(即查询非常慢)。
问题是,如果我为不同的服务类型创建5个临时表,然后从所有临时选择中选择mysql会更快更好地执行吗?或者有不同的想法? 当然,我可以使用5个单独的选择,然后将它们组合在代码中(php)。但我想这会导致报告加载速度更慢......
有什么想法吗?
答案 0 :(得分:3)
通常速度的限制因素是数据库,而不是PHP。我建议运行单独的查询,让PHP进行组合,看看是否更快。如果你没有将所有数据存储在数组中或进行其他繁重的处理,我怀疑PHP的方式要快得多。
(这实际上是作为评论但尚未拥有这些权利......)