首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库结构-带有category_id (多行)或多个设计类别表(几行)的单个设计表

数据库结构-带有category_id (多行)或多个设计类别表(几行)的单个设计表
EN

Stack Overflow用户
提问于 2019-12-29 06:52:50
回答 1查看 135关注 0票数 0

我有一个用于设计多个类别的数据库模式,所有这些类别都具有相同的结构。有两种情况,我不确定哪一种要根据性能而定。

  1. 单表:1个主表(类别)、1个设计表(category_id)、2个与设计相关的表(标签和颜色)和1个具有label_color关系的表。可能有大约20个类别,每个类别至少有100个设计,至少20个标签,每个设计有10个颜色。因此,总共有4个表,在label_color关系表中有大约40万条记录:1主表(类别),1设计表(category1_designs,category2_designs .)对于每个类别,以及与category1_design相关的标签和颜色表,以及与颜色相关的标签的label_color表。使用与以前相同的估计数,每个设计有20个类别和4个相关表,需要维护的表有80个(加上主类别表)。此外,为了从特定类别获取设计或在特定类别中添加设计,服务器将有一个交换用例场景,以便从正确的类别获取记录,从而使其僵化和硬编码。另外,添加一个新的类别将意味着手动为该类别创建4个新表。此表的下限仅为20000行,但分布在20个表上。

我使用的是MySQL数据库和InnoDB引擎,所以考虑到性能和可伸缩性,哪种方法更适合实现这个概念?还要注意的是,写操作不会很频繁,而且这些表将只专门用于读取和覆盖。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 07:05:07

与1。单一(类别)表。这就是我做这件事的方式,我已经看过很多次了。使用多个类别表的非规范化将很难维护,并且需要大量复制/粘贴或生成字符串查询。

每个非关联表的最大行数为100行,只要查询和索引匹配,性能就无关紧要。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59517413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档