UNION
operator wymaga, aby zduplikowane krotki (wiersze) zostały usunięte z zestawu wyników przed zwróceniem jakichkolwiek wierszy. To w rzeczywistości operacja SORT UNIQUE. Jest to stosunkowo niedrogie w przypadku małych zestawów wyników, ale w przypadku ogromnych zestawów może to wymagać dużej ilości zasobów w czasie serwera (tj. zająć dużo czasu).
Teoretycznie łączenie zapytań z UNION ALL
operator zamiast UNION
operator byłby najszybszy, ponieważ wyeliminowałby (n -1) w obie strony do bazy danych, a oddzielne uruchamianie zapytań. Ale dla dużych wartości n , napotkasz praktyczne ograniczenia dotyczące rozmiaru tekstu SQL (maksymalny rozmiar pakietu).
Mając wybór między UNION
operatora i oddzielne zapytania, w przypadku dużego zestawu wyników, oddzielne zapytania będą wymagały mniej zasobów po stronie serwera.
Krótko mówiąc, jest to naprawdę kompromis między podnoszeniem ciężkich przedmiotów dla każdego zapytania a podnoszeniem dużych ciężarów w ramach operacji SORTUJ UNIKALNEJ.