Нет, через array_merge хуже. Одно дело - один запрос но большой, или три разных запроса, но меньше.
То есть, во втором случае скрипт наоборот создаст еще больше нагрузки.
Хотя у вас есть определенные проблемы с архитектурой программы, если понадобился UNION.