【问题标题】:Optimal design for database scenario [duplicate]数据库场景的优化设计
【发布时间】:2019-08-19 17:09:50
【问题描述】:

我正在建立一个系统来跟踪会员对某些俱乐部的访问。

在我看来,我有 2 个选项来跟踪访问,每次访问只需在访问表中插入一行,当我需要总数时,我可以选择计数,当我需要显示时我可以只需做一个简单的选择。

问题是,这将快速增长,我相信我最终会在此表中拥有数百万行。

mysql 可以轻松处理这个问题吗?或者更好地实现第二个选项,每个成员一行,并在一个行单元格中存储访问总数,在另一个单元格中存储最后 60 次访问(实际上不需要更多)。

我想关于什么是更好的答案是显而易见的,但我很好奇 mysql 可以处理多少,因为以前的系统为每次访问实现了 1 行。

【问题讨论】:

  • 更少的行也意味着更少的信息。例如,如果您想分析趋势数据(随时间的访问),那么您必须存储每次访问的记录。
  • 数百万行?打哈欠。数十亿?现在它变得有趣了——但并非不可能。

标签: mysql database-design


【解决方案1】:

每次访问一行听起来不错。您还可以为每次访问存储一个日期/时间,这样您就有了更好的历史记录。只要您索引访问表中的 id 列,当您执行以下操作时,事情会很快:

SELECT COUNT(*) FROM Visits WHERE MemberID = '1'

MySQL 可以处理数百万行。我们当前的系统每天为每个用户存储数百条记录,我们有数十万用户。如果您愿意,您可以随时推出旧记录。

您还可以使用表分区和按年份、俱乐部等分区。

【讨论】:

  • 谢谢,我想我的问题有点愚蠢,但我现在知道了 MYSQL 的强大之处。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多