• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL Abfrage dauert lange

root3450

Mitglied
Folgende MySQL Abfrage dauert auf einem Webserver 24 (!) Sekunden und auf meinem XAMPP-Testserver stürzt MySQL sogar ab.
Woran liegt das und wie kann die Abfrage optimiert werden?

Code:
SELECT
                witz_id,
                witz_kategorie_fs,
                witz_text,
                witz_schueler_fs,
                witz_timestamp,
                schueler_nickname,
                schueler_admin,
                (SELECT COUNT(WW1.bewertung_id)
                    FROM tab_dangarus_witzbewertungen WW1
                    WHERE (WW1.bewertung_witz_fs=witz_id)) AS Bewertungen,
                (SELECT COUNT(WW2.bewertung_id)
                    FROM tab_dangarus_witzbewertungen WW2
                    WHERE (WW2.bewertung_witz_fs=witz_id AND WW2.bewertung_plus=1)) AS PositiveBewertungen,
                (SELECT COUNT(WW3.bewertung_id)
                    FROM tab_dangarus_witzbewertungen WW3
                    WHERE (WW3.bewertung_witz_fs=witz_id AND WW3.bewertung_plus=0)) AS NegativeBewertungen,
                (SELECT COUNT(kommentar_id)
                    FROM tab_dangarus_kommentare
                    WHERE( kommentar_witz_fs=witz_id)) AS Kommentare
            FROM tab_dangarus_witze W1
                LEFT JOIN tab_schueler ON (witz_schueler_fs=schueler_id)
            WHERE W1.witz_schueler_fs IN
                (SELECT follow_schueler_fs
                    FROM `tab_dangarus_follow`
                    WHERE follower_schueler_fs = 1)
                AND (SELECT COUNT(witz_id) FROM tab_dangarus_witze W2 WHERE (W2.witz_schueler_fs=W1.witz_schueler_fs AND W2.witz_timestamp>W1.witz_timestamp)) < 5
                AND witz_sperre=0
            ORDER BY W1.witz_timestamp DESC
 
Zuletzt bearbeitet:
Werbung:
Werbung:
Zurück
Oben