Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kolejnosc Join 'owania tabel
Kuziu
post
Post #1





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Witam serdecznie,

Ostatnio zadziwiło mnie coś w moim zapytaniu.
Mianowicie po przestawieniu 2 słów, czas zapytania spadł z 11s do 0.5s

  1. SELECT login, time, name, objects.id, elements, objects.obieg, users.id AS userid
  2. FROM objects
  3. LEFT JOIN objstates ON(objstates.objid = objects.id AND objstates.state = objects.currentstate) LEFT JOIN users ON (users.id = objstates.userid) WHERE currentstate='accepted' AND projid='19' AND actual='1' ORDER BY objstates.time, name


A dokładniej chodzi o ten kawałek

  1. ...
  2. FROM objects
  3. LEFT JOIN objstates ON(objstates.objid = objects.id AND objstates.state = objects.currentstate) LEFT JOIN ...


Gdy zamienię objects LEFT JOIN objstates na objstates LEFT JOIN objects
zapytanie zyskuje tyle czasu.

I teraz moje pytanko
Skąd mam wiedzieć do których tabel odwoływać się najpierw ?

Czytałem że LEFT JOIN na dużych tabelach spowalnia bardzo co można stosować w zamian ?

Wielkie dziękki za pomoc !
angrysmiley.gif


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 03:35