【发布时间】:2011-04-28 20:44:05
【问题描述】:
我有一个查询需要几分钟才能运行。我想我可以让它在四个单独的查询中运行得更快,然后是UNION。我至少对四个单独的查询部分是正确的。它们运行,从最慢到最快,~7 秒,~1 秒,
所以我认为所有这些中的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 所要做的就是执行四个查询,然后连接结果。
编辑:我想我没有问我真正追求的是什么:一种让这个查询快速运行的方法。
【问题讨论】:
标签: mysql