phpbb wird langsam

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Jo, damit wäre der Übeltäter ja identifiziert ;)

Versuch mal, die POSTS-Tabelle aus der Query rauszubekommen. Eindampfen ist das Stichwort ;)
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Benutzeravatar
DarkHappyAffe
Mitglied
Beiträge: 10
Registriert: 11.01.2005 19:28
Wohnort: Oldenburg (Oldenburg)
Kontaktdaten:

Beitrag von DarkHappyAffe »

Ich hab die langsame Anfrage jetzt komplett rausgenommen und vollständig in die große Forenabfrage bei Zeile 160 integriert und die Ladezeiten von knapp 30sek auf unter 0.5sek gedrückt.
Nu hab ich wieder mehr Speed und trotzdem noch die Titel der aktuellsten Topics auf der Startseite.

Wenn ihr den Code dafür wollt, schickt mir ne Nachricht! :)
Ugga Agga!
Benutzeravatar
DarkHappyAffe
Mitglied
Beiträge: 10
Registriert: 11.01.2005 19:28
Wohnort: Oldenburg (Oldenburg)
Kontaktdaten:

Beitrag von DarkHappyAffe »

Auf Grund der großen Nachfragen poste ich meine Veränderungen mal eben... :)
Das SQL-Statement bei Zeile 160 in dem default-Block des switches muss so abgeändert werden:

Code: Alles auswählen

         $sql = "SELECT f.*, p.post_time, p.topic_id, p.post_username, t.topic_title, u.username, u.user_id
            FROM (( " . FORUMS_TABLE . " f
            LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
            LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ),
               " . TOPICS_TABLE . " t
            WHERE t.topic_id = p.topic_id
               AND t.topic_last_post_id = f.forum_last_post_id
            ORDER BY f.cat_id, f.forum_order";
Und das muss da stehen, wo vorher das lahme SQL-Statement stand. Dann wird erst der Topic-Titel, darunter der Poster und darunter dann die Zeit angezeigt:

Code: Alles auswählen

                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];
                        // append first 25 characters of topic title to last topic data
                        if (strlen($lttitle) > 22)
                        {
                           $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 20) . '...</a><br />';
                        }
                        else
                        {
                           $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 22) . '</a><br />';
                        }
                        $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

                        $last_post .= $last_post_time . '<br />';
Viel Spaß damit. Hoffe, es hilft. :)
Ugga Agga!
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“