Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Czesc nie znam sie bardzo na bazach danych i chcialem sie zapytac powiedzmy ze musze pobrac dane z 3 tabel users,ban i active_account i nawet gdy nie znajdzie rekordu w ktorejs z tabel to ma zwrocic null czyli w tym przypadku uzywajac relacje musze uzyc LEFT JOIN
I problem polega na tym lepiej jest wykonywac takie zapytania w ten sposob:
Czy:
Ktore zapytanie jest bardziej wydajne? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Cytat Zdecydowanie zapytanie ze złączeniami jest bardziej wydajne. Z podzapytaniami trzeba uważać, bo zazwyczaj to podzapytania wpływają na spadek wydajności. - będę ostro polemizował.Joiny strasznie spowalniają, zwłaszcza do dużych tabel. Join jest po to, żeby np. pobrać nazwę województwa na podstawie jego ID wtedy, jeśli jest to potrzebne. Używanie joina żeby np. dodać do całego zapytania where to moim zdaniem nieporozumienie i niezrozumienie istoty działania tego, to tak jakby zamiast where używać having. Jak chcecie to sami sprawdźcie na takim typowym przykładzie: Źle:
Lepiej:
Najlepiej:
Dwa proste i szybkie selecty, jak mamy indeksy to śmiga jak burza, join w tym wypadku to takie babranie się, chcemy przecież tylko pobrać produkty z kategorii określonego typu. Kto mi nie wierzy niech sam zrobi testy. Zresztą czemu wielu programistów zamiast jednego zapytania pełnego joinów robi kilka prostych? Bo tak jest szybciej a kiedyś nie było takich możliwości używania podzapytań. |
|
|
|
marcio Select w select czy join-y 21.04.2012, 14:00:04
mortus Zdecydowanie zapytanie ze złączeniami jest bardzie... 21.04.2012, 14:24:18
marcio CytatPoza tym zapytanie z podzapytaniami jest niep... 21.04.2012, 14:50:06 
mortus Cytat(marcio @ 21.04.2012, 15:50:06 )... 21.04.2012, 15:05:58
marcio CytatPoza tym wszystko wygląda dobrze, z tym że po... 22.04.2012, 00:31:53 
mortus Cytat(Pilsener @ 22.04.2012, 22:35:28... 24.04.2012, 00:05:21
marcio CytatJoiny strasznie spowalniają, zwłaszcza do duż... 22.04.2012, 23:56:07
Pilsener Pewnie, że IN, delete garści identyfikatorów potrw... 23.04.2012, 10:34:14 
uupah5 dla dociekliwych może jeszcze źródełko: http://dev... 23.04.2012, 11:57:09
skowron-line Należy też przypomnieć że używając podzapytań w se... 23.04.2012, 12:07:56
Pilsener Faktycznie sprawdzałem i jest jak mówisz - dziwne ... 24.04.2012, 10:23:44
alegorn jesli chodzi o podzapytania vs joiny, to w typowej... 24.04.2012, 10:25:28
marcio Czyli ogolnie rzecz biorac dobrze ze opieram wszys... 24.04.2012, 23:49:29
skowron-line Jak wyżej było powiedziane jak masz wątpliwości to... 25.04.2012, 08:45:28 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 12:20 |