UNION
operatør kræver, at duplikerede tupler (rækker) fjernes resultatsættet, før nogen rækker returneres. Det er faktisk en SORT UNIK operation. Det er relativt billigt for små resultatsæt, men for massive sæt kan det være ressourcekrævende på serveren (dvs. tage lang tid.)
I teorien, at kombinere forespørgslerne med en UNION ALL
operatør i stedet for en UNION
operator ville være hurtigst, da den ville eliminere (n -1) rundrejser til databasen vs at køre forespørgsler separat. Men for store værdier af n , vil du løbe ind i praktiske grænser for størrelsen af SQL-teksten (maks. pakkestørrelse).
Givet valget mellem UNION
operatør og separate forespørgsler, for et stort resultatsæt vil de separate forespørgsler være mindre ressourcekrævende på serversiden.
Kort sagt, det er virkelig en afvejning mellem de tunge løft for hver forespørgsel i forhold til de tunge løft af en SORT UNIK operation.