计算Php、Mysql中的内容视图


Count content views in Php, Mysql

嗨,我正在创建一个简单的新闻网站,我需要计算新闻浏览量。目前我有25000行和25列。点击次数会像Joomla一样在每次重新加载页面时增加。我应该如何构建表格?我有两种方法来解决这个问题:

  1. 在内容表中创建名为hits的列
  2. 创建一个包含两列的新表:content_idhits

我使用了第一种方法,我认为这会减慢我的网站速度。第二种方法会比第一种更好吗?有更好的方法吗?

我不知道你在MySQL或PHP中的逻辑是什么,也不知道你当前的新闻表结构是什么,但我建议你在MySQL中使用存储过程作为

Begin
   update tblnews set hits = hits+1;
   select news from tblnews;
End

以及使用PHP PDO Prepared Statement来获得性能

如果您试图获取最近10条新闻或类似的内容,则必须为content_id设置Indexing,比如使用auto_increment的主键,以便更好地检索查询,否则甚至不要使用content_id列。我认为桌子不应该有任何硬结构。这肯定会提高性能,我希望超过100000000行不会有太大的不同。我认为没有其他更好的解决方案,因为这两个查询需要在每个页面视图中执行。

选项1听起来最好。选项2是多余的,因为您只是存储命中数。同样,您需要一个联接查询来提取命中