Jag listar inläggen i mitt forum med följande SQL-sats:
SELECT ft.id, ft.adminOnly, ft.tsCreated, DATE_FORMAT(ft.tsCreated, '%H:%i, %a %e/%c') AS datum,
ft.name, ft.clientID, ft.projectID, ft.forumID, ft.creatorID, ft.tsChild,
u.firstname, u.lastname, ft.filesize, ft.active,
COUNT(ft3.id) AS antal, SUM(ft3.filesize) AS childfilesize
FROM extra_forumthreads ft, extra_users u
LEFT JOIN extra_forumthreads ft3 ON ft3.parentID = ft.id
WHERE ft.parentID = 0 AND ft.clientID = 0 AND ft.projectID = 28 AND ft.forumID = 0
AND ft.active = 1 AND u.id = ft.creatorID
GROUP BY ft.id ORDER BY ft.name
Problemet är att även fast det bara finns ungefär 10 poster som hämtas av denna sats tar det 0,16 sekunder, vilket är lite långt eftersom jag hämtar ungefär 100 forum på detta sätt på en sida. Och ju fler jag lägger in, desto längre tid tar det förstås.
Det som verkar "knäcka" mySQL är själva LEFT JOIN där jag gör lite COUNT() och SUM(), så min fråga är om nån har ett smartare sätt att göra den här frågan på - all hjälp emottages tacksammast!