Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Jak najlepiej wykonać to zapytanie
camikazee
post 19.03.2009, 11:54:15
Post #1





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


Witam!

Zastanawia mnie dość prosta rzecz. Mianowicie mam tabele np userow i tabele powiązania usera do grupy. Wiadomo user może mieć > 0 grup. Chcę to wykonać jak najbardziej optymalnie. Mogę np złączeniem typu:

  1. SELECT u.user_id, ug.group_id
  2. FROM users AS u
  3. NATURAL LEFT JOIN users_to_group AS ug
  4. WHERE u.user_login = 'user' AND u.user_pass = 'pass'
  5. GROUP BY ug.group_id"


W tym przypadku np otrzymuję tyle rekordów ile mam grup powiązanych z użytkownikiem. Ale to mechanizm autoryzacji i wolę np by znaleziony rekord był jeden lub wcale. Mogę wykonać to dwoma zapytaniami, bo co prawda to tylko logowanie i z założenia nie będzie wykonywane co chwilę. Jak koledzy takie problemy rozwiązują?


--------------------
www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
erix
post 19.03.2009, 19:05:36
Post #2





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




Hmm, może sprawdzanie count w podzapytaniu w klauzuli where?

Trzeba by było porównać czasy i to, co podaje explain.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:52