Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Problem z NOT EXIST
damians1
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 12.06.2005

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


Mam dwie (istotne dla tego zapytania) tabele:

artykuly:
CODE
+----+--------------+---------+-------+-------+-----------+
| id | data_dodania | aktywne | tytul | tresc | kategoria |
+----+--------------+---------+-------+-------+-----------+


wykupione_artykuly:
CODE
+----+--------+---------+------+
| id | art_id | user_id | data |
+----+--------+---------+------+


kod sql
  1. SELECT * FROM artykuly AS a WHERE a.aktywne=1 AND NOT EXISTS (SELECT wa.id FROM wykupione_artykuly AS wa WHERE wa.user_id=25 AND wa.oferta_id=a.id) AND (a.data_dodania BETWEEN '2011-10-24 0:00:00' AND '2011-10-25 0:00:00') AND a.kategoria = '1' GROUP BY a.id ORDER BY a.id DESC LIMIT 0,20


Pierwsza tabela zawiera artykuły, druga listę wykupionych przez użytkownika artykułów (do których ma dostęp).
Zadaniem tego kodu jest pobranie listy artykułów niewykupionych przez użytkownika (te które może wykupić)
Problemem jest bardzo niska wydajność tego zapytania. przy kilku tysiącach artykułów wydajność jest niestety niska. Czy jest jakaś inna metoda (oprócz NOT IN bo tu wydajność jest niewiele lepsza) aby wydajnie pobrać te same rekordy (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował damians1 28.10.2011, 16:05:59
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 20:30