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