Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP &MySQL beste Möglichkeit, Seitenaufrufe für dynamische Seiten zu zählen

Normalerweise sieht die Tabellenstruktur so aus:

Tabellenseiten:

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

Tabellenseiten_Ansichten:

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

wobei pages_views einen eindeutigen Index auf page_id hat

Die MySQL-Anweisung zum Inkrementieren der Views sieht dann folgendermaßen aus:

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

Seit pages_views.page_id eindeutig ist, wird die Zeile für die Seite erstellt, wenn sie nicht existiert; wenn es existiert (das ist die "duplicate key"-Klausel), wird der Zähler inkrementiert.

Ich habe hier zwei separate Tabellen gewählt, da CMS-Seiten normalerweise nicht allzu oft aktualisiert werden (und daher hauptsächlich gelesen werden), während Seitenaufrufe gelesen und aktualisiert werden, nun ja, mit jedem Seitenaufruf.