Hallo Leute,
ich habe ein nerviges Performance problem.
Und zwar habe ich eine User Tabelle in der ich Basisdaten zu den Usern abspeicher:
id (int),
gender (tinyint),
location (tinyint),
flag (tinyint),
photo (tinyint)
über diese spalten ist auch ein index gezogen, sodass die normalen selects auf diese tabelle schön schnell von statten gehen.
jetzt habe ich aber noch eine weitere tabelle.
diese stellt quasi ein rating von usern da.
d.H. es sind die 2 user mit den jeweilig gegenseitigen ratings erfasst.
user_1 (int),
user_2 (int),
rate1 (tinyint),
rate2 (tinyint)
nun stehe ich vor der aufgabe beim rating einen zufälligen user aus der user tabelle zu selecten für den der aktuelle user noch kein rating abgegeben hat.
meine bisherigen Selects sind in der Form:
SELECT user.id FROM user WHERE gender = 1 AND location = 5 AND photo = 1 AND id NOT IN (SELECT user2 FROM rates WHERE user1 = 7)
alerdings habe ich jetzt massiv performance probleme wenn ich mir für die tabellen viele zufallseinträge generieren lasse.
hat mir jmd einen tipp wie ich das evtl ohne subselect formatieren kann die anfrage?
vielen dank!
ich habe ein nerviges Performance problem.
Und zwar habe ich eine User Tabelle in der ich Basisdaten zu den Usern abspeicher:
id (int),
gender (tinyint),
location (tinyint),
flag (tinyint),
photo (tinyint)
über diese spalten ist auch ein index gezogen, sodass die normalen selects auf diese tabelle schön schnell von statten gehen.
jetzt habe ich aber noch eine weitere tabelle.
diese stellt quasi ein rating von usern da.
d.H. es sind die 2 user mit den jeweilig gegenseitigen ratings erfasst.
user_1 (int),
user_2 (int),
rate1 (tinyint),
rate2 (tinyint)
nun stehe ich vor der aufgabe beim rating einen zufälligen user aus der user tabelle zu selecten für den der aktuelle user noch kein rating abgegeben hat.
meine bisherigen Selects sind in der Form:
SELECT user.id FROM user WHERE gender = 1 AND location = 5 AND photo = 1 AND id NOT IN (SELECT user2 FROM rates WHERE user1 = 7)
alerdings habe ich jetzt massiv performance probleme wenn ich mir für die tabellen viele zufallseinträge generieren lasse.
hat mir jmd einen tipp wie ich das evtl ohne subselect formatieren kann die anfrage?
vielen dank!
Kommentar