php - 访客计数器的MYSQL数据库表结构

标签 php mysql sql relational-database visitor-statistic

我在数据库上有一个用户群

______________________________________________
id | Name | so many details | Unique page link
______________________________________________
1  | abc  | bla bla         | username

因此,用户 abc 有一个页面 xyz.com/username

我想显示有关访问者的用户 abc 统计信息,例如
1 月 1 日 - 400
1 月 2 日 - 350
过去 7 天依此类推
以及过去 12 个月的月记录
一月 - 49009
二月 - 73849

最好的MYSQL数据库表结构设计是什么。

 _________________________________________________________________
    user id | day 1 | day2| and so on for 7 day | Jan | Feb | Mar
    ______________________________________________________________
    111111  |  400  | 300 |                     | 4250|24534|2435

我想到了这样的事情 - 可以吗还是有其他优化设计?

最佳答案

我不会以这种方式在数据库中保存计数。

我会将带有时间戳的记录存储为一列,并在每次需要时使用 GROUP BY 汇总它们。

如果这是一个报告数据库,我建议您研究具有时间维度的星型模式。

关于php - 访客计数器的MYSQL数据库表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284023/

相关文章:

php - Cakephp:插入tinyint字段时。仅获取 "0"或 "1"

php - Yii 2 的最低 PHP/服务器要求

sql - 合并存储为 View 的 SQL 查询/组合表

mysql - 为什么这些 MySQL 查询这么慢?

java - 如果我们在 mysql 中第 3 次尝试输入错误密码而在 oracle 中使用相同查询进行第 4 次尝试时,帐户是否被锁定?

python - 是否可以使用已删除的架构运行 makemigrations ?

java - 获取时差java.sql.Time

php - 每秒请求 JSON 1000 次。是不是很贵?

php - MySQL:允许通过表单提交PHP代码和SQL语句

mysql - 如何在windows中调度mysql存储过程?