Gerd H.: SQL Abfrage performance

Beitrag lesen

Hallo,

es geht um ein Forum. Da habe ich eine Übersicht über die letzten Beiträge. Funktioniert auch, nur dass da viel zu viele abfragen gemacht werden. Bin mir sicher, dass es auch besser geht, nur nicht wie :)

Hier die aktuelle Version:

// Hier die Beiträge

  
SELECT beitrag.thread_id, thread.forum_id, thread.beschreibung, thread.titel,  beitrag.time, user.username  
FROM thread, beitrag, user  
WHERE thread.id=beitrag.thread_id AND beitrag.von_id=user.id AND thread.lasttime=beitrag.time AND thread.forum_id!='13' AND thread.forum_id!='14'  
GROUP BY beitrag.thread_id  
ORDER by thread.lasttime DESC LIMIT 8  

In der Schleife wo die Beiträge ausgelesen werden wird bei jedem Durchlauf folgende Abfrage gemacht, damit ich die anzahl der Gesamtbeiträge bekomme, um einen Link auf die letzte Seite des Threads zu setzen:

  
SELECT beitrag.b_id  
FROM beitrag, thread, user  
WHERE beitrag.thread_id='" . mysql_real_escape_string($thread_id) . "' AND thread.forum_id='" . mysql_real_escape_string($forum_id) . "' AND beitrag.thread_id=thread.id AND beitrag.von_id=user.id  

Das sind dann insgesammt bei jedem Aufruf nur an dieser Stelle 9 Abfragen, wo bestimmt auch eine sein könnte :)

Kann mir da jemand was basteln :)

Danke Gerd