Salut à tous. J'ai un problème SQL un peu complexe.
J'affiche sur ma home la liste des 15 derniers messages du forum, avec le nombre de réponses associées.
Ma table forum est construite comme ça :
- id
- thread (id du premier message)
- titre
- date
Pour l'instant je fait une jointure sur la même table, cette requête marche trés bien, mais comme la table forum commence à grossir la requête commence à être longue.
Je suis certain qu'il y a une autre méthode. Vous avez une idée ??
A noter que j'ai mis des index sur les champs thread et id
Merci
J'affiche sur ma home la liste des 15 derniers messages du forum, avec le nombre de réponses associées.
Ma table forum est construite comme ça :
- id
- thread (id du premier message)
- titre
- date
Pour l'instant je fait une jointure sur la même table, cette requête marche trés bien, mais comme la table forum commence à grossir la requête commence à être longue.
Code:
SELECT f1.titre, f2.thread, count(f2.id) as cnt, max(f2.date) as last, max(f2.id) as last_id
FROM forum as f1, forum as f2
WHERE f1.id=f2.thread
GROUP BY f2.thread ORDER BY last DESC LIMIT 15
Je suis certain qu'il y a une autre méthode. Vous avez une idée ??
A noter que j'ai mis des index sur les champs thread et id
Merci