the result of your test would be interesting.
I presume the database union could be faster because the SQL select statement is prepared and parsed once and there is no further iteration on the QV site.
On the other hand, it could be dependend from the database behavior. In Oracle for instance the whole query resultset gets cached in TEMP tablespace before passed to the client. This could lead into trouble (full table space) or bad performance in case of big amount of records. So, it could be better to "chunk" the data in single queries.