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?
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