Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Union ALL czy kilka zapytań?
puc
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


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??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co EXPLAIN Ci mówi?
Go to the top of the page
+Quote Post
Mchl
post
Post #3





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:44