我正在建立一个新的网站,所以我的想法是我有3种不同类型的产品,他们共享一些数据,每一个都有自己的数据,我想创建一个product
表对于共享数据,为每种类型的特定数据创建3个表。但很快我发现如果没有父表和{3}之间的JOIN
,我就无法加载任何产品。我不确定我是否应该使用此解决方案,或者我应该创建3个表并复制它们之间的共享列。
每种方法的优缺点是什么?
我应该遵循哪一个?
答案 0 :(得分:2)
简单的答案是“这取决于你想做什么” 以下是在不同场景中使用每种方法的一些优点和缺点:
每种产品类型的产品表和3个子表
优点
缺点
JOIN
。但是,没有什么可以解决的。3个产品表,每个产品类型用于不同的产品类型
优点
缺点
UNION
查询。这比选择JOIN
要差得多。n
n
种产品类型的表格。
P.S。:上述内容未考虑您的具体需求。在通用条件下,这是一个通用建议,不考虑查询性能 虽然,如果你的数据大小合理,你不应该担心这两种方法中的任何一种(在第一种方法上有明显的优势)。
答案 1 :(得分:1)
JOIN
是关系数据库的组成部分。它可能是“坏”的唯一方法是在查询中不得不重复创建一个是一个小麻烦。 JOIN
非常有助于消除重复数据