Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1086 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Optimisation requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Optimisation requête

n°746115
ChamOis
Posté le 31-05-2004 à 13:56:39  profilanswer
 

Salut tout le monde :)
 
Je vous explique mon probleme, j'ai 3 tables (forums, topics, membres): dans la table "forum" j'ai 2 forums, dans la table "topics" il y a 30002 messages, dans la table membres il y a 5 membres ..
 
Pour le premier forum, j'ai 2 topics, l'affichage est tres rapide, voici la requete:
 

Code :
  1. SELECT A.* B.mbr_pseudo AS auteur
  2. FROM topics AS A
  3. LEFT JOIN membres AS B ON ( A.topic_auteur = B.mbr_id )
  4. WHERE (
  5. A.topic_forumid = 1
  6. )
  7. ORDER BY A.topic_important DESC , A.topic_lastpostdate DESC
  8. LIMIT 0 , 15


 
Maintenant, voici un EXPLAIN sur cette requête:

Code :
  1. A  ref  page_topics  page_topics  2  const           1  Using where; Using filesort
  2. B  ref  PRIMARY  PRIMARY  2  A.topic_auteur  1  Using index


 
Bon, je refais la même requête sur le 2e forum, qui lui contient 30000 messages, et voici le résultat :
 

Code :
  1. A  range  page_topics  page_topics  2  NULL  29995  Using where; Using temporary; Using filesort
  2. B  index  PRIMARY  PRIMARY  18  NULL  4  Using index


 
Mon index de la table "topics" est multicolonne (topic_forumid;topic_auteur) et celui de la table "membres" est multicolonne (mbr_id;mbr_pseudo)
 
Voilà, le probleme est assez embetant, car mon forum de 2 messages est super optimisé et celui de 30 messages rame à fond. Ca fait plusieurs jours que j'essaye de trouver pourquoi il me fait ca et je n'obtiens aucun résultat :(
 
En esperant que vous pourrez m'aider :??:


---------------
Hey! You wanna dance?
mood
Publicité
Posté le 31-05-2004 à 13:56:39  profilanswer
 

n°748176
Beegee
Posté le 01-06-2004 à 22:02:52  profilanswer
 

tu as bien les 2 index suivants :
- sur topic_auteur dans la table topcis
- sur mbr_id dans la table membres
 
sinon les explain plans sont pas très clairs, je suis habitué à Oracle où ils sont bien plus simples à lire ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Optimisation requête

 

Sujets relatifs
[sql] optimisation requete sql[sql/php] Optimisation simple de requete ?
optimisation d'une requete sql![SQL] Optimisation d'une requete
optimisation de requete[SQL] optimisation de requête....
[SQL] requete (optimisation toute simple help!!!!)[mysql]optimisation d'un requete
[MySQL]optimisation requeteOptimisation d'une requête. Laquelle choisiriez-vous ?
Plus de sujets relatifs à : Optimisation requête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR