gpt4 book ai didi

sql - 数据库设计——什么时候拆分表?

转载 作者:太空狗 更新时间:2023-10-30 01:49:06 26 4
gpt4 key购买 nike

有时创建一个单独的表会产生更多的工作,我是否应该拆分它?

例如:在我的项目中,我有一张客户表,每个客户对每种产品都有自己的特价(只有 5 种产品,还有更多产品 future 没有计划),每个客户也有公司向他交付产品的一周中唯一的几天。

当天数和产品价格是客户表中的列而不是单独的表时,许多操作,如更改客户的天数/价格,或显示所有客户的天数和价格会容易得多,所以是否只创建在这种情况下,一张大客户表?有什么缺点?

更新:他们刚刚告诉我,大约一年后他们可能会添加更多产品,他们表示他们的业务无论如何都不会超过 20-30 种产品。我仍然不明白为什么在这种情况下,当产品的价格没有关系(每个客户都有自己的特价)时,向 Products 表添加行比向 Customers 表添加列更好?我能想到的唯一好处是只有 5 种产品的客户不必“携带”20 种可为空的产品(节省服务器空间)?我没有太多经验,所以也许我错过了明显的东西?

最佳答案

很明显,只是说应该总是规范化是不务实的。没有建议总是正确的。

如果您可以肯定地说 5 个“项目”足够长时间使用,我认为将它们存储为列是非常好的,如果它可以节省您的工作。

如果您的预测失败并且需要存储第 6 个项目,您可以添加一个新列。只要列数不会以很高的概率失控,这应该不是问题。

只是要小心这样的策略,因为事实证明许多程序员预测 future 的能力非常有限。

最后只有一件事很重要:以最低的成本提供所需的解决方案。代码的纯度不是目标。

关于sql - 数据库设计——什么时候拆分表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com