PHP - 在数据库中存储页面视图的最佳实践

时间:2013-01-31 09:37:46

标签: php mysql view counter increment

我是否知道将页面视图存储在数据库中的最佳做法是什么?

每次加载页面时更新网页浏览量值是否代价高昂?

更新网页浏览时是否存在任何可能的错误/威胁?同时,其他人正在修改同一行的数据?

例如

表 - 项目 ID 名称 描述 网页浏览

我知道它可能不是一个非常大的问题,它可以应用于其他一些经常更新的数据,想知道这样做的最佳方法是什么。 我想到的可能情况是,如果同时运行了很多页面。会有任何性能问题吗?

原谅我的英语,并提前多多感谢。

1 个答案:

答案 0 :(得分:6)

最好的方法是为每个视图在表中写一个新行,而不是保持滚动计数,这可能导致大型系统上的锁定问题。为了获得更高的性能,您可以使用INSERT DELAYED语法添加行。这将允许DB句柄立即返回,您的脚本将不会等待插入完成。这里的文件: -

http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html

可能还值得查看专门针对此类日志记录的Archive存储引擎。您只能INSERTSELECT数据,但效果目标是快速撰写。

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

要查看网页浏览信息,您只需查询任意给定网页的行数。这种方法的一个主要优点是,通过记录每个页面视图的时间戳,您可以按时间,星期几等分析数据,并查看流量的形状。