aro*_*ron 23 sql-server-2008 database-design
我有一张包含非常基本信息的表格。只是一个标题和几个日期字段。有一个字段叫做comments,它是varchar(4000) 大多数时候我们把它留空,但有时会在这里输入大量数据。这真的是一个糟糕的设计吗?或者这只是有点低效?
我认为为此列创建一个单独的表会更好。
注意:这是 sql server 2008

gbn*_*gbn 13
不使用时占用最小空间
开销很小,优化还为时过早。
在你知道你有问题之前,把它放在一张桌子上。您可以通过引入外连接来破坏 KISS,并增加查询数据的开销。
有关更多信息,请参阅/sf/ask/265511571/#3793265
JNK*_*JNK 11
我认为单独的表格会更好地提高页面密度并减少碎片,特别是如果您不总是填充该字段。
所有这些空页面和指针都会导致性能不佳。如果可以,请对该字段进行规范化。
为了更可预测的性能(并避免每页的行数变化很大),我倾向于将此数据存储在相关表中 - 特别是如果它只在一小部分时间填充,特别是如果它只在一些查询。此值所在的行NULL确实会增加空间开销,但这是最小的。更重要的是一页可能只适合两行而下一页可以容纳 500 行——这确实会影响统计数据,你最好把它分开,这样它就分开存储,不会影响你的所有操作核心表。