SELECT * FROM dane WHERE urlop=0 AND (etat=0 OR (etat=1 AND id_usera= '.$user_id.' ) ) AND mapa IN ( SELECT mapa FROM dane WHERE miejscowosc ='. $miejscowosc_usera.' UNION SELECT miejscowosc FROM wojewodztwa WHERE miejscowosc ='. $miejscowosc_usera.' GROUP BY miejscowosc )
Witam.
Po analizie kodu wychodzi na to, że powyższe zapytanie ( przy około 2500 rekordów w tabeli dane i 20 rekordów tabeli wojewodztwa ) zajmuje jakąś sekundę.
Może to niewiele, ale jednak, a strach pomyśleć jak będzie wyglądało zapytanie przy większej ilości rekordów.
Czy macie jakieś propozycje, jak zoptymalizować takie zapytanie?
Pozdrawiam i proszę o pomoc.