mirage

  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
mirage
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 :
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 !

Ses derniers messages sur les forums

forum
mirage
le 05/11/2005 à 13:46
[mySQL] Aide pour jointure
Merci pour le tuto, je vais regarder. J'ai des index en place sur des champs utilisés fréquemment en jointure.
mirage
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 :
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 !

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours