Hallo,
ich programmiere zur Zeit ein Browsergame, genauer einen Fussballmanager.
Jetzt möchte ich das tägliche Training berechnen und habe dafür folgende Abfrage vorgesehen:
Das Problem ist jetz: Die Abfrage hat nach 5 Minuten gerademal 7.000 Datensätze durch, von insgesamt ~40.000
Also irgendwo muss ich denk ich was übersehen, das kann nicht so lange dauern.
die Tabelle players hat ~40.000 DS,
die Tabelle player_contracts aktuell genausoviele, später aber immer mehr als die Players tabelle,
die Tabelle team_trainings hat ~4.000
Also was ist an der Abfrage verkehrt?
Ich verwende übrigens PHP&MySQL
ich programmiere zur Zeit ein Browsergame, genauer einen Fussballmanager.
Jetzt möchte ich das tägliche Training berechnen und habe dafür folgende Abfrage vorgesehen:
Code:
update players as p1 left outer join player_contracts as c1 on c1.player=p1.id and c1.ende=0 left outer join team_training as t1 on t1.team=c1.team SET
p1.skill1=p1.skill1*t1.t1skill1,
p1.skill2=p1.skill2*t1.t1skill2,
p1.skill3=p1.skill3*t1.t1skill3,
p1.skill4=p1.skill4*t1.t1skill4,
p1.skill5=p1.skill5*t1.t1skill5,
p1.skill6=p1.skill6*t1.t1skill6
Das Problem ist jetz: Die Abfrage hat nach 5 Minuten gerademal 7.000 Datensätze durch, von insgesamt ~40.000
Also irgendwo muss ich denk ich was übersehen, das kann nicht so lange dauern.
die Tabelle players hat ~40.000 DS,
die Tabelle player_contracts aktuell genausoviele, später aber immer mehr als die Players tabelle,
die Tabelle team_trainings hat ~4.000
Also was ist an der Abfrage verkehrt?
Ich verwende übrigens PHP&MySQL