我有以下设置:
一个包含n列的表,其中包含…披萨细节。现在有四种比萨饼
直到现在,所有的比萨饼都有相同的细节,每个细节都保存在一个列中。
但是现在出现了一种叫做超级披萨的新披萨,它还有两种需要保存的细节。
有两种方法可以做到这一点(我可以考虑):
将列添加到现有表中,并将其留空/null/whatever用于其余4种pizzas类型
创建一个包含3列(idpizza、newdetail1和newdetail2)的新表,将pizza另存为pizza的其余部分,并在获取数据时加入这两个表
第一个选项的缺点是,我为所有比萨饼保留无用的数据,除了新类型的比萨饼(平均比萨饼分布的表的80%)。
第二种选择的缺点是每次我得到一种新的比萨饼,我都需要加入。数据库也会有点“混乱”…有一部分比萨饼元素存储在一张桌子里,另一部分存储在另一张桌子里。
我知道这归根结底是一个品味的问题,但你认为我应该如何进行?我有点倾向于第一种选择,但欢迎第二种意见。
注意:表中有很多条目(比如上万条)。
第二个注意事项(基于一个答案):不能重构“pizza”表,只需添加到它。
最佳答案
我建议使用第一个选项。因为第二个选项比第一个选项保留更多的资源,这将需要更多的时间过程。
由于您提到的第1个选项的缺点非常明显,但是当您需要更多列时,请在现有表中添加新列。
关于mysql - mysql - 向表中添加列或创建新表并加入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16476982/