我有一个包含视频/用户/消息表的数据库。
视频表包含视频信息
- ID
- 标题
- 描述
- 所有者
- ...
一堆统计数据(实时更新)
- 意见
- 赞成票
- 反对票
- ...
还有一堆计算值(每天或每周更新一次)
- 计算投票
- is_popular
- 名声
- ...
我最终得到了相当大的桌子。把它分开有意义吗?(表:视频,videos_statistic)
最终将成为 1-1 关系。
我从来都不是 1-1 关系的粉丝,是否有任何“规则”规定何时可以建立这种关系?
我有一个包含视频/用户/消息表的数据库。
视频表包含视频信息
一堆统计数据(实时更新)
还有一堆计算值(每天或每周更新一次)
我最终得到了相当大的桌子。把它分开有意义吗?(表:视频,videos_statistic)
最终将成为 1-1 关系。
我从来都不是 1-1 关系的粉丝,是否有任何“规则”规定何时可以建立这种关系?
好吧,我会将统计信息保存在单独的表格中(基于 1 到多个日期,所以不是 1 到 1)
所以统计表可以有列
这将允许您保留值的历史记录,可用于稍后的报告、显示平均值、趋势等。
出于两个原因(即使它是 1-1),我也会将统计信息保存在单独的表中:
1:与更宽的表相比,从资源的角度更新窄表会更容易。2:如果数据用于 BI 报告,检索也会根据所构建的报告类型更快。
考虑到您的问题中提到的属性:
id 标题 描述 所有者
这些属性在系统中很少改变一次。Statistiques 表会定期更新。因此,正如 Astander 所提到的,如果您想在日期级别以不同的粒度维护统计数据,那么无需每天再次存储不变的属性。
希望这可以帮助。