ASP.NET 网站访问统计设计
2017-05-27 本文已影响113人
DAOSR
准备了半年的项目,已经进入后期。现把项目开发中的一些经验分享出来。
如今网站统计第三方服务较多,运营较早的:站长统计、我要啦,后来加入的:百度统计、腾讯分析……第三方服务的优点是:功能强大、嵌入方便等,但是在内网环境下就无用武之地。
这样就只能自己写一个简单的功能,虽说简单但是也不是没有要求:按时间段统计(年、月、日)、高效。
精确到日的结构相对来说比较合理,一年最多产生366行数据,十年也才3650多行数据,查询统计量使用SUM函数也会很快。
先着手设计数据库,新建一个表(View)
两个字段:Date(日期)、Value(统计量)
增加访问量,直接上SQL了,你应该懂得
首先尝试更新今天的数据行(如果需要精确到小时就比较时段)
UPDATE [View] SET [Value] = [Value] + 1 WHERE DATEDIFF(DD, [Date], GETDATE()) = 0
如果没有更新成功今天的数据,就插入一条日期为今天、统计量为1的新数据
INSERT INTO [View] ([Date], [Value]) VALUES (GETDATE(), 1)
查询方法,还是SQL,不说你也懂得
总访问量
SELECT SUM([Value]) FROM [View]
本月
SELECT SUM([Value]) FROM [View] WHERE DATEDIFF(MM, [Date], GETDATE()) = 0
今日
SELECT SUM([Value]) FROM [View] WHERE DATEDIFF(DD, [Date], GETDATE()) = 0
附:项目最终效果
感谢阅读!共同交流、进步