count () ou compteur - PHP - Programmation
Marsh Posté le 15-10-2004 à 20:05:38
ça depend car mysql optimise les count sans condition WHERE
mais si c'est un count un peu pointilleux il vaux mieux un compteur
Marsh Posté le 16-10-2004 à 17:14:39
si t'efface un enregistrement le compteur sera faussé
Marsh Posté le 16-10-2004 à 23:17:09
si t'efface un enregistrement tu decremente le compteur !
Marsh Posté le 16-10-2004 à 23:36:16
En général, le count est mieux pour 2 raisons :
- ça t'évite des incohérences de bases (tu es sûr que le nb de lignes qu'on te donne est exactement le nombre d'enregistrements)
- la plupart des SGBD sont optimisés pour faire fonctionner le COUNT le plus rapidement possible
Maintenant il y a quand même des cas particuliers où la requête COUNT est trop complexe et dans ce cas un champ avec le nombre d'enregistrement est plus pratique à utiliser (mais ne garantit pas à coup sûr le bon résultat)
Marsh Posté le 17-10-2004 à 01:46:34
merci bcp pour vos réponses !
En plus le choix du count me plaît beaucoup plus
Marsh Posté le 10-11-2004 à 00:46:08
rainbow_efreet a écrit : si t'efface un enregistrement tu decremente le compteur ! |
pas dans le cas d'un auto-increment ( ce que je pensais) maintenant s'il gere son propore compteur c'est different.
ciao
Marsh Posté le 10-11-2004 à 09:18:39
Hmmm... je sais pas si c'est mieux dans tous les cas. Je m'occupe d'un forum, et je gère la plupart des compteurs par des champs.
Sur la liste des forums (là ou j'affiche pour chaque forum son nom, nombre de topics, nombre de posts, etc), ma requête ressemble (en simplifiant au maxiumum) à :
Code :
|
Si je veux obtenir la même chose avec des COUNT, j'obtiens un truc comme ça :
Code :
|
Dans ce genre de situations, je doute que la seconde solution soit la plus rapide.
Marsh Posté le 15-10-2004 à 14:18:18
Petite question rapide
qu'est-ce qui vaut mieux faire en général ?
un system de compteur où le chiffre sera stocké dans un champs de la base.
ou une requete count ?