pytanie nie jest tak bez sensu.
nie ma jednoznacznej odpowiedzi, bo bywa tak i tak (zalezne od zapytania, bazy i hardware.)
optymalizacja nie jest prosta, i nie ma jednego lekarstwa na wszystko. zalezy to od masy czynnikow..
tak czy inaczej przy pisaniu polecen, trzea sie kierowac kilkoma regulami, o ktorych jesli temat cie zaciekawi - duzo znajdziesz w necie.
ogolna zasada brzmi :
* jesli piszesz relacyjnie zapytanie,to im wiecej informacji posylasz optymalizatorowi - tym lepiej. (czasem od tego moze zglupiec ale to juz inna para kaloszy, wtedy trzeba go prowadzic za reke)
* dobra zasada jest by warunki najbardziej ograniczajace wynik - dawac jak najwczesniej.
a tak naprawde, to:
1. napisz zapytanie na oba sposoby
2. potraktuj explain'em
2.a - sprawdz czy i w czym sie roznia, jesli nie widzisz zadnej roznicy - to znaczy ze optymalizator oba zapytania sprowadza do jednej postaci. roznica czasow wtedy nie powinna byc zauwazalna.
2.b jesli sie roznia - najlepszy bedzie ten ktory do wyniku potrzebuje jak najmniejszej ilosci rekordow przeszukac
3. sprawdz czasy wykonania (pamietaj by wylaczyc qc)
jesli nie masz jednoznacznej odpowiedzi po 3 pkt. :
5. wlacz profilowanie zapytan
6. wykonaj oba zapytania, i sprawdz w czynnikach pierwszych co jest ograniczeniem.(tutaj mozna sprawdzic min. ile czasu potrzebuje optymalizator i wiele innych ciekawych opcji)
na koniec : to ze przetestujesz na swojej maszynie - nie oznacza ze, na innym serwerze nie otrzymasz innych wynikow.. sprawdz to tez w jakichs stres testach
a jesli po tym wszystkim nadal cie nie satysfakcjonuje wynik - przemysl od nowa caly pomysl. byc moze inne podejscie do problemu da lepsze rezultaty, ewentualnie podrasuj ustawienia serwera

j.