MySQL UNION or Create an intermediate Table?
===

I have two Table (MySQL, InnoDB) which are identical to each other holding some score information. I want to create a leader-board out of those two.
Scores from Table-1 have more wight (^2) in comparison to Table-2. 

One strategy is two write a SQL Query using UNION statement and get the result on the fly and the other is to create another table and insert data from both tables to that on timely basis. (e.g Cron-Job)

My question is how expensive this UNION query would be? 

    SELECT 
        username,
        specialId,
        SUM(correct) points,
        IFNULL((SUM(foracc) / SUM(completegames)), 0) accuracy
    FROM
        ((SELECT 
            u.username,
            u.specialId,
            POW(p.correct, 2) as correct,
            p.correct as foracc, #to calcuate accuracy
            p.completegames
        FROM
            Table_01 p
        LEFT JOIN users u ON u.userid = p.userid
        WHERE
            p.year = 2012 AND p.type = 1) UNION (SELECT 
            u.username,
            u.specialId,
            p.correct,
            p.correct as foracc, #to calcuate accuracy
            p.completegames
        FROM
            Table_02 p
        LEFT JOIN users u ON u.userid = p.userid
        WHERE
            p.year = 2012 AND p.type = 1)) AS Table_aggregatedscore
    GROUP BY 1
    ORDER BY points DESC , acc DESC
    LIMIT 10;

Both Table_01 and Table_02 are having more than 20million rows.

PS. I don't have time/ability to benchmark those two things.