Biasanya struktur tabel terlihat seperti ini:
halaman tabel:
id | name | ...
==========================
1 Some Page
2 Some Other Page
tabel pages_views:
page_id | views
================
1 1234
2 80
di mana pages_views memiliki indeks unik di page_id
Pernyataan MySQL untuk menambah tampilan kemudian terlihat sebagai berikut:
INSERT INTO `pages_views` SET views=1 WHERE page_id=?
ON DUPLICATE KEY UPDATE views=views+1 ;
Sejak pages_views.page_id
unik, baris untuk halaman akan dibuat jika tidak ada; jika ada (itulah klausa "kunci duplikat"), penghitung akan bertambah.
Saya memilih dua tabel terpisah di sini, karena halaman CMS biasanya tidak terlalu sering diperbarui (dan oleh karena itu, sebagian besar memuatnya dibaca), sedangkan tampilan halaman dibaca dan diperbarui, yah, dengan setiap tampilan halaman.