Ik heb de volgende query:

SELECT foto.id, foto.fotonaam, foto.datum, foto.tekst, COUNT(reactie.id) AS reacties, SUM(reactie.punten) AS sterren FROM fotos AS foto LEFT JOIN fotos_reacties AS reactie ON (foto.id = reactie.foto_id) WHERE foto.user_id = '2' GROUP BY foto.id ORDER BY foto.id DESC

Enkel, deze query heeft 1.8 sec nodig om uitgevoerd te worden. Dit lijkt me lang. Kan ik dit optimaliseren?

Een schets van wat ik nodig heb:
Tabel fotos:
id, fotonaam, datum, tekst
Tabel fotos_reacties:
aantal reacties, en de som van de puntenvelden

Iemand ideeën hoe dit sneller kan ?

Thanks

Edit:

Ter info, zonder de SUM(), duurt de query nog steeds 1.2 seconden... Dus de COUNT() is ook vrij zwaar blijkbaar...
Gebruik je ook alle resulaten? Want je haalt ze iig wel op. Stel dat je 1000 records hebt en je gebruikt er maar 10 van...
Ik gebruik alle resultaten. Deze zullen nooit meer dan 50 stuks zijn, dus dat lijkt me ook niet overdreven.

Reageren