mam takie oto zapytanie:
SELECT id, tytlu, users_id, FROM ksiazki WHERE tytul LIKE "samochody" AND users_id <> 1 AND id NOT IN (SELECT ksiazki_id FROM przeczytane WHERE users_id = 1 AND ksiazki_id = id)
w skrócie wyjaśnie o co chodzi:
mam baze danych w ktorej znajdują się dwie tabele: ksiazki i przeczytane
struktura ksiazki to: id | tytul | users_id
struktura przeczytane to: ksiazki_id | users_id
kazdy uzytkownik widzi zawartosc tabeli ksiazki, jezeli znajdzie w jej zawartosci tytul ktory juz przeczytal to klika w link 'przeczytane' i do tabeli przeczytane wedruje id danej ksiazki i id użytkownika
i teraz w tym moim zapytaniu chodzi o to aby każdemu użytkownikowi wyświetlać tylko tytuły, których jeszcze nie przeczytał. Zapytanie to działa poprawnie i zwraca to co chcę ale wykorzystałem w nim podzapytanie które to bardzo ale to bardzo zwiększyło czas wykonania skryptu.
Czy jest jakaś możliwość aby to zapytaniue sformuować inaczej? aby czas wykonania nie był aż tak duży??
dodam tylko że w tabeli książki mam około 2000 pozycji a w tabeli przeczytane około 100000 rekordów
pozdrawiam