Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Jak najlepiej wykonać to zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
camikazee
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ą?
erix
Hmm, może sprawdzanie count w podzapytaniu w klauzuli where?

Trzeba by było porównać czasy i to, co podaje explain.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.