【发布时间】:2017-02-01 12:16:49
【问题描述】:
我将一列添加到数据类型/长度为 varchar(500) 的表中。然后我将 3 条记录添加到该表中。两条记录在新列中的长度为 5,第三条的长度为 500。假设所有其他列的三个记录的值相同,它们现在是否都占用磁盘上的相同空间或者是第三行占用更多空间?
如果是前者,在所有字符串字段类型中将 varchar(N) 中的 N 设置为一个非常高的数字有什么害处,在某些时候可能需要利用所有 N?如果一个流氓值使用 N 个字符,我可以理解设置 N 是保守的,其效果是显着增加表中所有其他记录的存储分配。但是如果它只影响一个记录,那么将N设置得很高有什么害处呢?
我在网上阅读的所有内容都说在设置 N 时要保守,但我很难理解为什么。
【问题讨论】:
-
this answer 可能会帮助你
标签: sql-server varchar