我是否知道将页面视图存储在数据库中的最佳做法是什么?
每次加载页面时更新网页浏览量值是否代价高昂?
更新网页浏览时是否存在任何可能的错误/威胁?同时,其他人正在修改同一行的数据?
例如
表 - 项目 ID 名称 描述 网页浏览
我知道它可能不是一个非常大的问题,它可以应用于其他一些经常更新的数据,想知道这样做的最佳方法是什么。 我想到的可能情况是,如果同时运行了很多页面。会有任何性能问题吗?
原谅我的英语,并提前多多感谢。
答案 0 :(得分:6)
最好的方法是为每个视图在表中写一个新行,而不是保持滚动计数,这可能导致大型系统上的锁定问题。为了获得更高的性能,您可以使用INSERT DELAYED
语法添加行。这将允许DB句柄立即返回,您的脚本将不会等待插入完成。这里的文件: -
http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html
可能还值得查看专门针对此类日志记录的Archive存储引擎。您只能INSERT
和SELECT
数据,但效果目标是快速撰写。
http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html
要查看网页浏览信息,您只需查询任意给定网页的行数。这种方法的一个主要优点是,通过记录每个页面视图的时间戳,您可以按时间,星期几等分析数据,并查看流量的形状。