Union
checks the each and every row ..
whether any duplicate row are existing in the database
and avoid them before returns the rows .. for this entire process takes the time..
but in Union all
Can't take risk to check for duplicate.
So its returns all row which are returned from the query...
okay

good luck...