通常表结构如下所示:
表页:
id | name | ... ========================== 1 Some Page 2 Some Other Page
table pages_views:
page_id | views ================ 1 1234 2 80
其中pages_views在page_id上有唯一索引
用于递增视图的MysqL语句如下所示:
INSERT INTO `pages_views` SET views=1 WHERE page_id=? ON DUPLICATE KEY UPDATE views=views+1 ;
由于pages_views.page_id是唯一的,因此如果页面的行不存在,则会创建该行;如果它存在(这是“重复键”子句),计数器将递增.
我在这里选择了两个单独的表,因为CMS页面通常不会经常更新(因此,它们的负载主要是读取),而页面视图则通过每个页面视图进行读取和更新.