Question technique très intéressante au sujet des compteurs

JulienV

WRInaute discret
Bonjour à tous !

Je vais faire simple :

- J'ai un site d'articles en ligne
- Je veux compter le nombre d'affichages d'articles (pour chaque article)
- Je veux également compter le nombre d'affichage de chaque commentaire publié sur l'article

Ainsi, pour l'article "28", j'aurai 1.574 visites sur le mois d'octobre, 1510 affichages sur le commentaire n°1 (il a été publié dès publication de l'article), mais seulement 150 affichages pour le commentaire n°13 (il a été publié à la fin du mois, plus de 25 jours après la publication de l'article).

Techniquement, ce n'est pas un problème, il suffit d'incrémenter sur une base de données :eek:)

Mais une question vient vite à l'esprit : est-ce que cela n'est pas TROP gourmand, et surtout TROP rapidement, pour la base de données ?

Imaginons que d'ici un an, le site a 1.000 articles, visionnés 500 fois chacun tous les jours, cela nous donne 500.000 requêtes pour les articles.

Mais pour les commentaires, si chaque article a 100 commentaires... Vous imaginez le nombre de requêtes annuelles !

Alors ma question : connaissez-vous une méthode qui permette de compter autant d'affichages sans consommer autant de ressources SQL ?

Je ne parle même pas des fichiers, cela est vraiment trop gourmand... :)

A bientôt !
 

Sullyvan

WRInaute discret
bonjour,

meme pour 100 commentaires c'est faisable en 4 requetes

1 requête pour avoir l'article
1 pour incrémenter son compteur
1 pour rechercher tous les commentaires (stocker les id lors de l'affichage)
1 pour incrémenter les compteurs des commentaires (update commentaires set aff = aff + 1 where commentaire_id in (.....) )
 

Schwarzer Stern

WRInaute impliqué
Pour reprendre la solution de Sullyvan (qui me semble quasi parfaite)
1 pour incrémenter les compteurs des commentaires (update commentaires set aff = aff + 1 where commentaire_id in (.....) )

update commentaires set aff = aff + 1 where article_id = 'article_en_cours'

Encore un tout petit peu plus simple non ?
 

Discussions similaires

Haut