Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Union ALL czy kilka zapytań?
Forum PHP.pl > Forum > Bazy danych > MySQL
puc
witam, zastanawiam się nad tym co będzie bardziej wydajne. Mam do wyciągnięcia rekordy z podziałem na statusy (powiedzmy mam 7 roznych statusów i musze wyciagnąć 5 pierwszych rekordów ze statusem 1 i 2, pozniej 3 i 4, oraz 5, 6 i 7). Czy w takim wypadku wydajnieszy będzie UNION ALL i wykonać to jako 1 zapytanie (jest dość obszerne - ok 8 left joinow, duzo warunkow, roznia sie tylko tymi statusami), czy może wykonać 3 zapytania??
erix
A co EXPLAIN Ci mówi?
Mchl
Nie powinno być większej różnicy. W końcu UNION ALL też wykonuje wszystkie zapytania i dodatkowo skleja wyniki (nawet nie filtruje duplikatów). Co innego jeżeli chciałbyś wykorzystać query cache. Wtedy jeżeli poszczególne zapytania odwołują się do rożnych tabel, to 'mniejsze' podzapytania indywdidualne mają mniejszą szansę na przeterminowanie niż UNION.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.