Write a SQL query using
UNION ALL (not
UNION) that uses the
WHERE clause to eliminate duplicates. Why might you want to do this?
You can avoid duplicates using
UNION ALL and still run much faster than
UNION DISTINCT (which is actually same as UNION) by running a query like this:
SELECT * FROM mytable WHERE a=X UNION ALL SELECT * FROM mytable WHERE b=Y AND a!=X
The key is the
AND a!=X part. This gives you the benefits of the
UNION DISTINCT) command, while avoiding much of its performance hit.