【发布时间】:2011-07-21 18:57:58
【问题描述】:
目前我的数据库设计没有标准化。
当用户访问网站时,所有数据(例如完整的浏览器名称、操作系统名称等)都会被存储。这导致数据库以每天约 10GB 的速度快速增长,每天只有 200 万人(每天 200 万次插入)。然而,这只意味着每个数据只有一个插入。我正在使用mysql和php。
现在我想知道如果我对数据进行规范化是否会更快。我的意思是为操作系统名称和操作系统 ID、浏览器名称和浏览器 ID 创建单独的表。然后使用流量日志表中的 id。 在这种情况下,将在浏览器表和 os 表中查找 id 的两个查找,如果它们不存在,则在流量日志表中插入两个插入,然后另一个插入带有浏览器 id 和 os id。所以 2 个选择和 2 个潜在插入和 1 个集合插入。
哪个可能更快。还有其他用于存储操作系统等的基于文件的方法的选项,或者可能将所有可能的浏览器、操作系统存储在数组中,然后仅在访问者具有这些浏览器之一或操作系统时才插入,否则只需将它们作为无。
【问题讨论】:
标签: mysql database logging reporting analytics