Was Sie im Grunde zeigen, ist, dass Sie ein Designproblem in Ihrem Modell haben, bei dem es scheint, dass bei der Implementierung von Super-/Subtypen die falsche Wahl getroffen wurde. Ihre funktionale Anforderung besteht darin, (ähnliche) Daten aus zwei verschiedenen Tabellen als einen einheitlichen Satz zu haben. Dies wäre einfach, wenn sich alle diese Zeilen in einer Tabelle befunden hätten. Die eigentliche Frage ist also, warum sie es nicht sind.
Sie können diese Abfrage immer noch schneller erhalten (nehme ich an), aber sie ist hässlich.
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