如果varchar(max)
用作数据类型且插入的数据小于完整分配(即只有200个字符),则SQL Server将始终占用varchar(max)
的完整空间或仅200个字符'太空?
此外,即使插入较少的数据,还会占用最大空间的其他数据类型是什么?
是否有任何文件指明这个?
答案 0 :(得分:17)
来自http://msdn.microsoft.com/en-us/library/ms176089.aspx:
因此对于varchar,包括max - 存储将取决于实际数据长度,而char总是固定大小,即使没有使用整个空间。
答案 1 :(得分:3)
仅对字符串使用CHAR
你知道它的长度是固定的。例如,如果您定义域
你的价值被限制在'T'和'F',你应该做
CHAR[1]
。如果您要存储美国社会安全号码,请制作
域名CHAR[9]
(如果您想要标点符号,则为CHAR[11]
)。
将VARCHAR
用于长度不同的字符串,例如名称,短
描述等。当您不想担心时,请使用VARCHAR
剥离尾随空白。除非有充分的理由,否则请使用VARCHAR
不要。
答案 2 :(得分:1)
varchar 的大小取决于数据的长度。因此,根据您的情况,只需 200个字符。