Ciò che stai fondamentalmente mostrando è che hai un problema di progettazione nel tuo modello in cui sembra che sia stata fatta la scelta sbagliata durante l'implementazione di super/sottotipi. Il tuo requisito funzionale è di avere dati (simultanei) da due tabelle diverse come un insieme uniforme. Questo sarebbe semplice se tutte quelle righe fossero state in una tabella. Quindi la vera domanda è perché non lo sono.
Puoi ancora ottenere questa query più velocemente (presumo) ma è brutta.
SELECT * FROM
(SELECT * FROM (select title, id, date as date_added from test1
ORDER BY date_added DESC LIMIT 0,8) t1
UNION ALL
SELECT * FROM (select title, customer as id, date_added from test2
ORDER BY date_added DESC LIMIT 0,8) t2
) joined
ORDER BY date_added DESC
LIMIT 0,8