La risposta più definitiva è testare ogni metodo, tuttavia UNION è molto probabile che sia più veloce poiché MySQL esegue una sola query anziché 4 per ciascuna parte dell'unione.
Rimuovi anche il sovraccarico di leggere i dati in memoria in PHP e concatenarli. Invece, puoi semplicemente fare un while() o foreach() o qualsiasi altra cosa su un risultato.