[英]Database Table Design: normalization or not
Web Configurator(用于可定制的电子文章)应通过Web用户界面将用户生成的配置保存到MySQL数据库。
可用选项是静态的,数量为10到20个不同的选项。
我不知道哪种解决方案有更多优势。 我正在征求一些建议,因为这是数据库设计中的常见问题。
1张桌子:
配置:
2个表和1个RelationTable(请参见下文)
配置:
选项:
对我而言,这将是与联接表的单向OneToMany关联,还是与选项侧的与ForeignKey的单向ManyToOne关联。
问题是,是否有一个包含约10至20列的表 ,每个选项每个都有,最终,如果需要新的选项,则需要不时更改数据库架构
要么
每个配置条目具有大约10到20个相关的选项条目 。
配置表每月可以增长到大约2000个配置=>每月20000至40000个选项条目。
如果选项表中的条目超过1.000.000,则查询配置及其相关选项的查询时间可能会很高,对吗(解决方案1)? 查询约20列的单个表的行是否是更好的选择(解决方案1)? 也许这也是一个标准。 任何解决方案都有缺点/优点/缺点吗?
我会选择解决方案2。 我还将在options
表的应用程序中添加缓存层,该表将为每个请求的configuration_id
创建一个json对象(数组,列表或您的语言支持的任何内容),并且所有选项都已被查询,处理并可以使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.