0

表格中有多个文本列与单个文本列/中等文本列?哪个应该更好地扩展?

例子 :

Table t :

Col1 : {a:1} // .. could me larger than varchar 35565
Col2 : {b:1} // .. could me larger than varchar 35565
Col3 : {c:1} // .. could me larger than varchar 35565

对比

Col : {a:1, b:1, c: 1} // might be medium text to handle the extra size.
4

2 回答 2

0

在se中,不会有很大的不同。

有什么不同:

  • 您的应用程序逻辑。如果您经常需要选择/搜索/更改 A、B 或 C,最好将它们放在单独的列中。
  • 索引
于 2013-05-28T06:29:43.593 回答
0

你绝对应该那样做。阅读第一个范式,它解释了为什么这是一个可怕的想法。每个特定列必须包含原子值。

起初,将这些列合并在一起似乎更容易,但随着时间的推移,您会后悔的。相信我,我去过那里。通过合并列,出现错误的风险呈指数级增长。您的数据库中也可能会出现大量垃圾数据。

另一个问题是:你怎么知道一个“列”(注意引号)在哪里结束而另一个开始?你会使用特殊字符吗?当您希望该特殊字符出现在该文本中时会发生什么?

太头疼了,不值得。以正确的方式去做!

于 2013-05-28T07:29:21.203 回答