B
ByeBye 8492
Moinsen,
ich habe bereits eine Methode um die Renderzeit der Seite zu errechnen. Diese will ich aber nun noch durch die Zeit ergänzen die MySQL gebraucht hat um alle Queries auszuführen . Das muss doch irgendwie klappen oder?
Muffin
Aso, gerade nochma was gechecked:
Ich habe eine Tabelle inhalt, dort sind 27000 Datensätze drinne gespeichert ^^. Wenn ich nun den Query:
SELECT c_cont.id, c_cont.parent_id,c_cont.rate, c_cont.rated, c_user.name as `author`, c_user.id as `user_id`,c_cont.title, c_cont.text,c_cont.time,c_cont.text,c_cont.rate, c_cont.counter,c_cont.show_author from inhalt as c_cont LEFT JOIN user as c_user ON ( c_user.id = c_cont.author) where c_cont.frontpage = 1 and c_cont.allowed = 1 and (c_cont.showtime <= '1108755445') GROUP BY c_cont.id ORDER BY c_cont.time DESC LIMIT 5
durchlaufen lasse, dann durchsucht er alle 27000 Datensätze, obwohl er doch nur 5 nehmen soll ..., dass heisst das er für diesen Simplen Query 3 Sekunden brauch, meiner Meinung nach wesentlich zuviel. Wie kann man das optimieren? EXPLAIN sagt das er 27000 Datensätze durchsucht ...
EDIT: Wenn ich das Group by Wegnehme brauch er nur noch 0,25 Sekunden, is aber trotzdem noch zu lange
EDIT2: Wenn ich nun noch das ORDER BY rausnehme, dann is der Query in 0.0016 Sekunden fertig .. aber die Datensätze nichmehr ordentlich sortiert .
ich habe bereits eine Methode um die Renderzeit der Seite zu errechnen. Diese will ich aber nun noch durch die Zeit ergänzen die MySQL gebraucht hat um alle Queries auszuführen . Das muss doch irgendwie klappen oder?
Muffin
Aso, gerade nochma was gechecked:
Ich habe eine Tabelle inhalt, dort sind 27000 Datensätze drinne gespeichert ^^. Wenn ich nun den Query:
SELECT c_cont.id, c_cont.parent_id,c_cont.rate, c_cont.rated, c_user.name as `author`, c_user.id as `user_id`,c_cont.title, c_cont.text,c_cont.time,c_cont.text,c_cont.rate, c_cont.counter,c_cont.show_author from inhalt as c_cont LEFT JOIN user as c_user ON ( c_user.id = c_cont.author) where c_cont.frontpage = 1 and c_cont.allowed = 1 and (c_cont.showtime <= '1108755445') GROUP BY c_cont.id ORDER BY c_cont.time DESC LIMIT 5
durchlaufen lasse, dann durchsucht er alle 27000 Datensätze, obwohl er doch nur 5 nehmen soll ..., dass heisst das er für diesen Simplen Query 3 Sekunden brauch, meiner Meinung nach wesentlich zuviel. Wie kann man das optimieren? EXPLAIN sagt das er 27000 Datensätze durchsucht ...
EDIT: Wenn ich das Group by Wegnehme brauch er nur noch 0,25 Sekunden, is aber trotzdem noch zu lange
EDIT2: Wenn ich nun noch das ORDER BY rausnehme, dann is der Query in 0.0016 Sekunden fertig .. aber die Datensätze nichmehr ordentlich sortiert .
Zuletzt bearbeitet von einem Moderator: