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

vin*_*ent 3 php mysql counter view increment

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

每次加载页面时更新页面视图值是否代价高昂?

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

例如

表 - 项目ID名称描述PageView

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

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

Pur*_*can 7

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

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

也许值得一看的是归档存储引擎,它专门针对这种类型的日志记录.你只能INSERTSELECT数据但性能的目标是快速写作.

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

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