Abfrage für große Topics verbessern
Verfasst: 13.02.2006 22:22
Ich habe ein Problem mit einem Thema in meinem Board.
Dies umfasst ca. 60.000 Antworten und seit der ca. 30.000 Antwort schalte ich eine Funktion nach der anderen ab um das Thema zu beschleunigen.
Naja, jetzt ist meine viewtopic.php mitterweile stark zerklüftet mit speziellen Spamtopicbedingungen und mir fällt nichts mehr ein.
Das hautpsächliche Problem verursacht denke ich die standardmäßige Abfrage der Topics bzw. für die Pagination.
Nicht wundern über die Vielfalt
www.maxrev.de/files/viewtopic.txt
Das Problem verursacht die Hauptabfrage:
Wie könnte man die Performance vielleicht verbessern?
Mein Memory wird andauernd mit mehr als 50 MB (mein Max.) gefüllt. (wohlgemerkt nur in dem einen Thread).
Dies umfasst ca. 60.000 Antworten und seit der ca. 30.000 Antwort schalte ich eine Funktion nach der anderen ab um das Thema zu beschleunigen.
Naja, jetzt ist meine viewtopic.php mitterweile stark zerklüftet mit speziellen Spamtopicbedingungen und mir fällt nichts mehr ein.
Das hautpsächliche Problem verursacht denke ich die standardmäßige Abfrage der Topics bzw. für die Pagination.
Nicht wundern über die Vielfalt
www.maxrev.de/files/viewtopic.txt
Das Problem verursacht die Hauptabfrage:
Code: Alles auswählen
$sql = "SELECT pt.post_sub_title, u.username, u.user_id, u.user_posts, u.user_from, u.user_firstname, u.user_ebayname, u.user_car, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_gender, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
WHERE p.topic_id = $topic_id
$limit_posts_time
AND pt.post_id = p.post_id
AND u.user_id = p.poster_id
ORDER BY p.post_time ASC
LIMIT $start, ".$board_config['posts_per_page'];Mein Memory wird andauernd mit mehr als 50 MB (mein Max.) gefüllt. (wohlgemerkt nur in dem einen Thread).