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

PHP &MySQL meilleur moyen de compter les pages vues pour les pages dynamiques

Généralement, la structure du tableau ressemble à ceci :

pages du tableau :

id | name            | ... 
==========================
1    Some Page
2    Some Other Page

pages_vues du tableau :

page_id | views
================
1         1234
2         80

où pages_views a un index unique sur page_id

L'instruction MySQL pour incrémenter les vues se présente alors comme suit :

INSERT INTO `pages_views` SET views=1 WHERE page_id=?
    ON DUPLICATE KEY UPDATE views=views+1 ;

Depuis pages_views.page_id est unique, la ligne de la page sera créée si elle n'existe pas ; s'il existe (c'est la clause "clé dupliquée"), le compteur sera incrémenté.

J'ai choisi deux tables distinctes ici, car les pages CMS ne sont généralement pas mises à jour trop souvent (et par conséquent, leur charge est principalement constituée de lectures), alors que les pages vues sont lues et mises à jour, enfin, à chaque page vue.