Andi,
Det beror lite på vilken motor man använder på baksidan, men oftast är det så att UNION (vilket är ett alias för UNION DISTINCT på väldigt många databaser) skapar en slags temporär tabell för att kolla duplicerade entries. UNION ALLhar ingen sådan koll. Så om man vet att datat man sätter ihop med en union är unikt är UNION ALL snabbare. Det finns rätt väl beskrivet både för MS SQL och MySQL, vet att Oracle har samma "syndrom."
http://www.mysqlperformanceblog.com/...l-performance/
http://blog.sqlauthority.com/2007/03...r-performance/