内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我正在为我正在构建的产品设计数据库架构。在开始在MySQL中创建所有内容之前,我只是在Excel文件中绘制所有内容。
目前,我有两个几乎相同的表。
TABLE A
包含每个用户的每个数据点的最新值。
TABLE B
包含每个用户的每个数据点的每日记录。
我创建TABLE A
,而不是完全依赖于我的理由TABLE B
是,TABLE B
每天的行数会随着我拥有的客户数量而增长。例如,假设我有20,000名客户,TABLE B
每天将增加20,000行。因此,通过创建TABLE A
,我将只需搜索20,000条记录,以便为每个用户查找每个数据点的最新值,因为我将每天更新这些值; 而对于TABLE B
,我必须为每个用户搜索最近插入的行数越来越多。
这是可接受的还是良好的做法?
或者我应该忘记TABLE A
减少数据库中的“膨胀”?
这不是正确的方法。你基本上有两个合理的选择:
您可以管理两个表,但这很麻烦,并且有内置方法来处理这种情况。