MySQL Abfrage dauert lange

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

Ich bin jetzt kein SQL-Experte, aber ich hätte die unzähligen Sub-Selects in Verdacht…

ich würde eher auf fehlende Indizes tippen.
Poste doch mal die Ausgabe von „Explain select …“

[ATTACH=full]3587[/ATTACH]