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.