i had query taking several minutes run. thought might able run faster 4 separate queries, union. @ least right 4 separate queries part. run, slowest fastest, ~7 seconds, ~1 second, < 1 second , < 1 second.
so think union of these run, @ slowest, 7 + 1 + 1 + 1 = 10 seconds. however, when run union query, takes on 100 seconds.
(select id view_macatawa_prospect_match_first_and_last_name) union (select id view_macatawa_prospect_match_full_name) union (select id view_macatawa_prospect_match_just_address) union (select id view_macatawa_prospect_match_name_and_address) why union make these slower? seems me mysql has execute 4 queries concatenate results.
edit: guess didn't ask i'm after: way make query run quickly.
the problem union removes duplicates. it's not running queries.
try using union all instead of union.
that way, duplicates won't removed:
(select id view_macatawa_prospect_match_first_and_last_name) union (select id view_macatawa_prospect_match_full_name) union (select id view_macatawa_prospect_match_just_address) union (select id view_macatawa_prospect_match_name_and_address) with union all should times closer you've got when run queries separately.
Comments
Post a Comment