le 05/11/2005 à 12:15
[mySQL] Aide pour jointure
Bonjour à tous,
J'ai développé mon propre forum mais je souhaiterai l'optimiser afin de l'intégrer sur un site à fort trafic sans démonter mon serveur :).
Je voudrais donc savoir si vous voyez des optimisations avec des LEFT JOIN ou des choses du genre... je n'ai jamais rien compris aux LEFT JOIN et je trouve pas un tutorial très explicit (si vous avez ça, ça m'intéresse ;)).
Voici donc les requêtes, si vous avez besoin de plus de détail, n'hésitez pas à me demander !
Index des forums :
Listing des topics pour une catégorie :
Affichage d'un topic :
Voilà, tappez pas si c'est mal fait, j'en suis bien conscient mais ça fonctionne (même si mon pauvre petit serveur doit pas aimer... :() !
Merci par avance pour votre aide !
J'ai développé mon propre forum mais je souhaiterai l'optimiser afin de l'intégrer sur un site à fort trafic sans démonter mon serveur :).
Je voudrais donc savoir si vous voyez des optimisations avec des LEFT JOIN ou des choses du genre... je n'ai jamais rien compris aux LEFT JOIN et je trouve pas un tutorial très explicit (si vous avez ça, ça m'intéresse ;)).
Voici donc les requêtes, si vous avez besoin de plus de détail, n'hésitez pas à me demander !
Index des forums :
SELECT groupes.id as grp_id, groupes.nom as grp_nom, categories.id as cat_id, categories.nom
as cat_nom, categories.description as cat_desc, categories.num_topics as cat_num_topics,
categories.num_posts as cat_num_posts, categories.last_topic_date as cat_last_topic_date
FROM groupes, categories WHERE categories.voir <= ".$level." AND groupes.id = categories.grp_id
GROUP by groupes.ordre, categories.ordre
Listing des topics pour une catégorie :
SELECT topics.id as topic_id, topics.sujet as topic_sujet, topics.auteur as topic_auteur,
topics.date as topic_date, topics.poster as topic_poster, topics.msg as topic_msg,
topics.epingle as topic_epingle, topics.last_post as topic_last_post, membres.login as
membres_login, membres.level as membres_level FROM topics,membres WHERE topics.cat =
'".$_GET['id_cat']."' AND topics.auteur = membres.id ORDER by topics.epingle desc,
topics.last_post desc LIMIT ".$start_sql.",".$messages_page."
Affichage d'un topic :
SELECT messages.id as message_id, messages.message as message_message,
messages.auteur as message_auteur, messages.date as message_date, membres.login as membre_login,
membres.level as membre_level, membres.avatar as membre_avatar, membres.signature as
membre_signature, membres.posts as membre_posts FROM messages, membres WHERE messages.topic =
'".$_GET['id_topic']."' AND messages.auteur = membres.id ORDER by messages.date asc LIMIT
".$start_sql.",".$messages_page."
Voilà, tappez pas si c'est mal fait, j'en suis bien conscient mais ça fonctionne (même si mon pauvre petit serveur doit pas aimer... :() !
Merci par avance pour votre aide !