sql >> Base de Datos >  >> RDS >> Mysql

PHP y MySQL, la mejor manera de contar las vistas de página para páginas dinámicas

Por lo general, la estructura de la tabla se ve así:

páginas de la tabla:

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

vistas_páginas de la tabla:

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

donde pages_views tiene un índice único en page_id

La declaración de MySQL para incrementar las vistas tiene el siguiente aspecto:

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

Desde pages_views.page_id es único, se creará la fila de la página si no existe; si existe (esa es la cláusula de "clave duplicada"), el contador se incrementará.

Elegí dos tablas separadas aquí, ya que las páginas de CMS generalmente no se actualizan con demasiada frecuencia (y, por lo tanto, su carga es principalmente de lecturas), mientras que las vistas de página se leen y actualizan, bueno, con cada vista de página.