Avis sur COUNT
Salut,
J'affiche sur un forum le nombre de message de chaque membre. Pour cela deux options s'offrent à moi :
- Soit COUNT qui demande une requete à chaque réponse affichée et qui semblerait-il demande pas mal de ressources si il y a bcp d'entrée dans la table
- Soit à chaque nouveaux message j'incrémente un compteur dans la bdd et je décrémente a chaque message supprimé. C'est p/e moins fiable que le COUNT mais bon en meme temps cette valeur n'a pas besoin d'etre super fiable.
Vous en pensez quoi ? :$
Salut,
tu peux utiliser l'indexation dans ta table mysql, ca permet de gagner en vitesse dans les requetes !
Ciao,
I am singing in the rain , I am happy again !!
Alors mon avis :
- faire un count pour chaque post (soit plusieurs requetes par page), c'est une connerie.
- avoir un champs qui stocke le nombre de réponse peut etre une bonne idée, mais si le compteur part en vrille, c'est pas cool. Dans ce cas, tu peux utiliser une "rustine" (une rustine etant un bout de code en php que tu stockes qqs part et qui sert juste à recalculer les compteurs de tous les posts)
- faire un left join pour compter le nombre de réponse : bonne option, mais attention à tout bien indexer.
Pour un gros forum, j'opetrais pour la deuxieme solution.
le 27/01/2006 à 17:36
Bzh
Personnelement, je n'utilise que la deuxième solution et je n'ai jamais eu aucun problème.
Par contre, La Globule, je n'ai pas tout suivit pour ta rustine. S'il y a moyen que tu deveuloppes un peu ce serait cool...
Salut,
La rustine de laglobule :
En fait quand tu stockes un compteur dans un variable, si une fois l'utilisateur ajoute par exemple une news, la variable compteur de news est incrementer ! Mais imaginons une fois ou le script incrementeur de stats de news s'execute mal ou pas !
La news sera poster mais le nombre de news stocké pour l'user sera pas augmenter !
Donc en cas de plantage, tu uses un script qui recompte les news par exemple avec un mysql_nu_rows, et tu remets les compteurs correct !
Voila c'est pas con, je devrais penser a en faire un aussi !
Ciao,
I am singing in the rain , I am happy again !!
le 27/01/2006 à 19:16
Bzh
Ah ! Oki !!!! Je ne voyais pas cela comme ça. Oui, c'est pas con...
Bye...
ET hop toutes les modifs sont faites et ca tourne tellement mieux :p
MErci a plus :)
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: