Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment écrire un compteur de visites efficace pour les sites Web

Un sujet passionnant. Incrémenter un compteur, aussi simple soit-il, ne fait que a être une transaction... ce qui signifie qu'elle peut verrouiller l'ensemble de la base de données plus longtemps qu'il n'est logique !-) Cela peut facilement être le goulot d'étranglement pour l'ensemble du système.

Si vous avez besoin de décomptes rigoureusement exacts mais que vous n'avez pas besoin qu'ils soient instantanément à jour, mon approche préférée consiste à ajouter les informations dénombrables à un journal (en changeant les journaux aussi souvent que nécessaire à des fins de fraîcheur des données). Une fois qu'un journal est fermé (contenant des milliers d'événements dénombrables), un script peut le lire et mettre à jour tout ce qui est nécessaire en une seule transaction - peut-être pas intuitif, mais beaucoup plus rapide que des milliers de verrous uniques.

Ensuite, il y a des compteurs extrêmement rapides qui ne sont que statistiquement précis - mais puisque vous ne dites pas qu'une telle imprécision est acceptable, je ne vais pas les expliquer plus en profondeur.