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%)
|
Faktycznie sprawdzałem i jest jak mówisz - dziwne bo jeszcze trzy lata temu miałem identyczny przypadek i zamiast joinować dużą tabelę dużo szybciej wychodziło pobranie z niej paru ID podzapytaniem i wrzucenie tego do where. Może optimizer nie radzi sobie z bardziej skomplikowanymi zapytaniami albo go ulepszyli albo znaczenie ma cały szereg innych czynników, włącznie z silnikiem bazy. Pewnie podzapytanie będzie szybsze, jeśli nie mamy indeksów na joinowane pola.
To tak jak pobieranie liczbe rekordów przy pomocy found calc rows - do dziś nie wiem czy używać tego czy nie. Wygląda na to, że każdy przypadek należy rozpatrywać indywidualnie, trzeba robić explain i rzeźbić. |
|
|
|
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
Pilsener CytatZdecydowanie zapytanie ze złączeniami jest ba... 22.04.2012, 21:35:28 
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
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 - 16:43 |