Auteur Sujet: Optimisation de requête SQL (forum smf)  (Lu 7943 fois)

0 Membres et 1 Invité sur ce sujet

vetofish

  • Invité
Optimisation de requête SQL (forum smf)
« le: 11 mars 2009 à 10:11:28 »
Bonjour,

Je viens de recevoir un mail automatique de phpnet me disant d'optimiser une requête SQL (je suis sur un mutualisé) :

SELECT posterTime FROM smf_messages WHERE ID_BOARD = 1 ORDER BY ID_MSG DESC
Quel index je peux rajouter ?

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #1 le: 11 mars 2009 à 10:57:10 »
La base de données n'est plus accessible  :angry:

Hors ligne shaitan

  • Habitué
  • **
  • Messages: 142
    • Passion Xbmc
Re : Optimisation de requête SQL (forum smf)
« Réponse #2 le: 11 mars 2009 à 10:58:47 »
Salut,

Quelle version de smf utilises tu ? Avais tu installé des mods spécifiques en relation avec les messages, modifié quelque chose ?
cl1-sq4 , serveur de fichiers 4 et mon Fai est Free.
Et mon site est là: http://passion-xbmc.org/forum/
Quand à mes requêtes elles sont optimisées.

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #3 le: 11 mars 2009 à 11:01:18 »
SMF 1.1.6, patch de langue FR, aucun mods installé.


Hors ligne shaitan

  • Habitué
  • **
  • Messages: 142
    • Passion Xbmc
Re : Optimisation de requête SQL (forum smf)
« Réponse #5 le: 11 mars 2009 à 11:07:14 »
Aucune idée si cela résoudrait le problème mais il serait bon de toute façon de le mettre à jour.
cl1-sq4 , serveur de fichiers 4 et mon Fai est Free.
Et mon site est là: http://passion-xbmc.org/forum/
Quand à mes requêtes elles sont optimisées.

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #6 le: 11 mars 2009 à 11:11:28 »
La mise à jour vers 1.1.8 est prévue, mais elle ne corrige que d'une vulnérabilité de la version 1.1.7 (donc qui ne me concerne pas).

De toute façon, je suis maintenant dans l'incapacité de faire la moindre mise à jour.

Hors ligne shaitan

  • Habitué
  • **
  • Messages: 142
    • Passion Xbmc
Re : Optimisation de requête SQL (forum smf)
« Réponse #7 le: 11 mars 2009 à 11:14:36 »
Si c'est possible par ftp mais tu dois avoir raison, ça ne devrait pas résoudre le problème. Si je me souviens bien 1.1.6 vers 1.1.7 cela concernait aussi seulement une faille de sécurité dans la gestions des packages.
Le mieux serait de demander de l'aide à quelqu'un connaissant bien smf, je pense à un membre ici en particulier, je t'envoie un MP, tu pourras le contacter pour lui indiquer ce fil si tu veux. Je suis sur que cela l'intéressera et cette personne a déjà dépanné un grands nombre de webmasters.

« Modifié: 11 mars 2009 à 11:23:20 par shaitan »
cl1-sq4 , serveur de fichiers 4 et mon Fai est Free.
Et mon site est là: http://passion-xbmc.org/forum/
Quand à mes requêtes elles sont optimisées.

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #8 le: 11 mars 2009 à 11:37:49 »
merci pour le contact, je lui ai envoyé un MP.

Hors ligne marckisscool

  • Dr TeiGnEuX
  • Expert
  • ****
  • Messages: 549
  • Dr TeiGnEuX
    • smfgratuit.fr
Re : Optimisation de requête SQL (forum smf)
« Réponse #9 le: 11 mars 2009 à 12:20:58 »
Bonjour,

Citer
SELECT posterTime FROM smf_messages WHERE ID_BOARD = 1 ORDER BY ID_MSG DESC

Je ne pense pas que le problème se situe sur cette requête précisément mais plutôt sur une modification apportée au forum, en effet je suppose qu'il s'agit de la recherche des derniers messages se trouvant dans la première section pour les afficher ensuite quelque part.
Pour l'optimiser:
Citer
SELECT posterTime FROM smf_messages WHERE ID_BOARD = 1 ORDER BY ID_MSG DESC LIMIT 15

Pour information, les modifications comme les thèmes du forum officiel ne sont ni vérifiés ni sûr, c'est en général à vos risques et périls  ^_^
Les mises à jour depuis smf 1.1.6 concernent exclusivement la faille sur la gestion des packages et des pièces jointes  ^_^
A+

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #10 le: 11 mars 2009 à 13:05:44 »
Merci marc pour ta réactivité, mais il semble que le problème vienne des premiers résultats affichés sur le forum "bavardage" (ID 1), et plus particulièrement avec 2 discussions : http://209.85.229.132/search?q=cache:iJTZkBi2FpUJ:www.aquatribu.com/index.php%3Fboard%3D1.0+site:www.aquatribu.com+aquatribu+board+1.0&hl=fr&ct=clnk&cd=6&gl=fr

- Qui fait quoi (51 pages) : http://www.aquatribu.com/index.php?topic=7530.0
- Qui est en ligne (93 pages) : http://www.aquatribu.com/index.php?topic=7187.0

qui sont trop lourdes à gérer pour la base de données (afficher le nom du dernier posteur).

En attendant je les déplacerai dans la corbeille, et je vais ajouter un index pour accélérer ce type de requete.

SELECT posterTime FROM smf_messages WHERE ID_BOARD = 1 ORDER BY ID_MSG DESC

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #11 le: 11 mars 2009 à 13:10:35 »
Quelle est l'IP du cl1-sql4 ?

195.144.11.6

vetofish

  • Invité
Re : Optimisation de requête SQL (forum smf)
« Réponse #12 le: 11 mars 2009 à 13:55:16 »
Cette requete est maintenant traitée en 170 ms.

Je pense que le problème est réglé. -_-

Hors ligne shaitan

  • Habitué
  • **
  • Messages: 142
    • Passion Xbmc
Re : Optimisation de requête SQL (forum smf)
« Réponse #13 le: 11 mars 2009 à 13:58:22 »
Un petit mot à Mkc, ma démarche était un peu culotté, j'espère que tu ne m'en voudras pas, c'était pour une bonne cause.
cl1-sq4 , serveur de fichiers 4 et mon Fai est Free.
Et mon site est là: http://passion-xbmc.org/forum/
Quand à mes requêtes elles sont optimisées.

Hors ligne marckisscool

  • Dr TeiGnEuX
  • Expert
  • ****
  • Messages: 549
  • Dr TeiGnEuX
    • smfgratuit.fr
Re : Re : Optimisation de requête SQL (forum smf)
« Réponse #14 le: 12 mars 2009 à 10:29:41 »
Merci marc pour ta réactivité, mais il semble que le problème vienne des premiers résultats affichés sur le forum "bavardage" (ID 1), et plus particulièrement avec 2 discussions : http://209.85.229.132/search?q=cache:iJTZkBi2FpUJ:www.aquatribu.com/index.php%3Fboard%3D1.0+site:www.aquatribu.com+aquatribu+board+1.0&hl=fr&ct=clnk&cd=6&gl=fr

- Qui fait quoi (51 pages) : http://www.aquatribu.com/index.php?topic=7530.0
- Qui est en ligne (93 pages) : http://www.aquatribu.com/index.php?topic=7187.0

qui sont trop lourdes à gérer pour la base de données (afficher le nom du dernier posteur).

En attendant je les déplacerai dans la corbeille, et je vais ajouter un index pour accélérer ce type de requete.

SELECT posterTime FROM smf_messages WHERE ID_BOARD = 1 ORDER BY ID_MSG DESC

Bonjour,

Alors pour ma part je suis parti du script d'origine de smf de la version 1.1.6 qui est presque identique à la version 1.1.8.
Une telle requête en l'état n'existe pas dans un smf d'origine, les requêtes utilisent presque toutes des jointures avec des conditions.

Maintenant sur la question de la requête, elle récupère le timestamp des posts classé par id du plus grand au plus petit de la section numéro 1, cela n'affiche absolument pas le nom du dernier posteur, cela récupère une date sur la totalité des posts fait dans la section 1. Il serait intéressant de savoir de quel fichier provient cette requête et le code associé à cette requête.

Pour information le nombre de page est pas calculé à la phpbb en listant la totalité des messages, mais grâce à un champ dans la table topic (qui ne contient aucun message) et qui contient le nombre de réponses à un post. Ce champs est récupéré dans le listage des sujets ou dans la consultation des posts d'un sujet et permet de calculer le nombre de page en pure code php sans alourdir la base de données de requêtes inutiles.

Donc pour résoudre ton problème il faut identifier le code qui produit cette requête et optimiser le code en conséquence.

@Shaitan: tu pouvais citer le fofo  ^_^, sinon pas de soucis  ^_^

« Modifié: 12 mars 2009 à 10:31:32 par marckisscool »