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).

