我有一个查询需要几分钟才能运行。我想我可以让它运行得更快,因为四个单独的查询,然后UNION
。我对这四个单独的查询部分至少是正确的。他们从最慢到最快跑,约7秒,约1秒,1秒012秒,<秒,<秒。查询运行速度很快,在UNION下缓慢运行
所以我会认为所有这些的UNION
将运行,最慢,约7 + 1 + 1 + 1 = 10秒。但是,当我运行这个UNION
查询时,它需要超过100秒。
(select id from view_macatawa_prospect_match_first_and_last_name)
union
(select id from view_macatawa_prospect_match_full_name)
union
(select id from view_macatawa_prospect_match_just_address)
union
(select id from view_macatawa_prospect_match_name_and_address)
为什么UNION
会使这些都变慢?在我看来,所有MySQL必须执行的是四个查询,然后连接结果。
编辑:我想我没有问过我真的在做什么之后:让查询快速运行的一种方法。
它仍然和'UNION ALL'一样慢。 – 2011-04-28 21:09:58