Optimisation d'un count - SQL/NoSQL - Programmation
Marsh Posté le 06-02-2005 à 00:12:08
sert toi de l'instruction COUNT de SQL car les SGBD sont fait de telle sorte que cette fonction est optimisée. Si tu comptes au niveau de PHP tu perds du temps étant donné qu'il fait sa requête sans utiliser l'optimisation du COUNT.
Donc à la place de ta première requête tu mettrais par exemple
Code :
|
pis pareil pour compter le nombre de réponses
Marsh Posté le 06-02-2005 à 00:24:32
ah et puis un autre truc, c'est inutile de stocker des champs calculés comme le nombre de messages d'un sujet. Tu perds en cohérence et en intégrité des données. Il vaut mieux faire un COUNT, ça te permet :
- de pas avoir à utiliser un script pour mettre à jour le nombre de messages
- d'être sûr du résultat, le COUNT est infaillible
- si par hasard une autre page modifie le nombre de messages ou de sujet pour une raison quelconque l'information de la base de données devient erronée et cela t'obliges à passer par un script pour la corriger
Donc dans ta table "catforum", pas besoin des champs nbre_sujet, ni nbre_rep. D'une manière générale, on ne stocke pas de champs calculés sauf si le calcul est trop compliqué à faire
Marsh Posté le 06-02-2005 à 01:38:55
ha bon ? il vaux mieux pas que je stocke le nombre de message ? Refaire un count à chaque fois sa risque d'ètre super lourd je pense.... Surout si à chauqe fois je dois recompter les sujet et leur réponses....
Marsh Posté le 06-02-2005 à 15:04:58
scull a écrit : ha bon ? il vaux mieux pas que je stocke le nombre de message ? Refaire un count à chaque fois sa risque d'ètre super lourd je pense.... Surout si à chauqe fois je dois recompter les sujet et leur réponses.... |
nan justement c'est pas lourd à condition d'utiliser la fonction COUNT de SQL.
Pour avoir le nombre de sujets et de réponses par catégorie, il suffit de faire un truc du genre :
Code :
|
Marsh Posté le 06-02-2005 à 23:12:26
ReplyMarsh Posté le 08-02-2005 à 18:34:14
Et pour optimiser count : http://forum.hardware.fr/hardwaref [...] 8324-1.htm
Marsh Posté le 06-02-2005 à 00:03:13
Bonsoir, voilà un script que je viens de faire pour recompter les message de mon forum, or ce script est vraiment trés trés lent...
Je me demandais si il était pas possible d'optimiser ces foutus count, car il est quand mème bizarre que compter 30 suejt et 400 réponse me prennent 25 secondes....
Si vous avez une idée...
---------------
Créer son forum gratuit | Mon beau blog phpBB caÿ le mal :o