mysql - Web 统计表的数据库字段

标签 mysql database database-schema

我需要关于应该为记录访问者统计数据的脚本创建哪些数据库字段的建议。

目前为止

ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
os varchar(10) default NULL,
time datetime NOT NULL default '0000-00-00 00:00:00',
ip varchar(40) default NULL,
host varchar(150) default NULL,
browser varchar(50) default NULL,
os varchar(20) default NULL,
referrer text,
search text,
language varchar(5) default NULL,
screenres varchar(15) default NULL,
PRIMARY KEY (ID),
KEY time (time)

基本上我想为每次访问记录尽可能多的数据,但同时保持表访问速度快,因为它会有很多记录...

您认为我应该以原始格式($_SERVER['HTTP_USER_AGENT'] 的值)将操作系统 + 浏览器存储到单个字段中,并在输出时确定操作系统和浏览器吗?

最佳答案

在任何人给你一个更明确的答案之前,还有很多问题需要回答。

  1. 这一切的用途是什么?

  2. 这是要记录访问的每个页面还是仅记录访问者的初始“着陆页”?

此外,是的,您可以将 HTTP_USER_AGENT 存储在一个字段中并处理输出(如果当时需要),您是否要记录用户在您的页面上停留的时间,以查看这是一个错误还是他们正在阅读它。从那里您可以查看他们是否至少点击了您网站上的一个其他链接。

至于它的存储速度,这在很大程度上取决于您在特定时间段内期望有多少访问者,一旦您有了这样的数字,您就可以考虑模拟访问您网站的人数,同时查看多长时间你需要遇到瓶颈。

关于mysql - Web 统计表的数据库字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6975818/

相关文章:

xml - HR-XML 数据库模式

mysql - 从表中的所有列中选择所有非空值

iphone - iPhone 上的 SQLite3 - 插入返回错误代码 8 尝试写入只读数据库

mysql - Reader 关闭时读取无效 (VB.Net)

sql-server - 如何在 Multi-Tenancy 应用程序中更新所有租户的所有架构?

database-design - Google Analytics的数据库架构/数据库设计会是什么样?

mysql - Drupal 7 手动查询 webforms 数据库表

MySQL 复制错误 (1062)

python - 如何使用 Peewee 从 DateTime 中选择不同的年份

c# - 在 Xamarin.Forms 中直接访问 Sql Server 数据库