嗨,我正在创建一个简单的新闻网站,我需要计算新闻浏览量。目前我有25000行和25列。点击次数会像Joomla一样在每次重新加载页面时增加。我应该如何构建表格?我有两种方法来解决这个问题:
- 在内容表中创建名为
hits
的列 - 创建一个包含两列的新表:
content_id
和hits
我使用了第一种方法,我认为这会减慢我的网站速度。第二种方法会比第一种更好吗?有更好的方法吗?
我不知道你在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是多余的,因为您只是存储命中数。同样,您需要一个联接查询来提取命中