SQL Server用于大量文本的列类型

时间:2009-07-23 13:54:48

标签: sql-server-2005

我正在研究一个替换一张纸的项目,在那张纸上,基本上有两种文本字段。一个是10-40个字符,适用于varchar,但另一个是一个大盒子,在盒子的底部“必要时附加额外的纸张”。所以,我们谈的是很多文字。

我可以使用不同数据类型的优点和缺点是什么? Varchar似乎达到4096行大小限制。我应该使用文字类型吗?或者我应该把它自己分成几块并放在子表中?

目前是SQL Server 2005,但如果有令人信服的优势,我可以升级。

5 个答案:

答案 0 :(得分:1)

在SQL Server 2005及更高版本中,您可以使用VARCHAR(MAX)(或NVARCHAR(MAX)作为unicode)。它们可以分别保存与TEXT和NTEXT一样多的数据,将来会被弃用。 VARCHAR(MAX)比TEXT更容易处理,并且与如何与它进行交互没有相同的限制。

毫无疑问,不要使用TEXT。对于那么多数据,VARCHAR(MAX)是更好的选择。

答案 1 :(得分:1)

使用SQL Server 2005及更高版本,我建议您使用VARCHAR(MAX)。

它的大小最多为2 GB,但你仍然可以在其上使用所有常用的T-SQL字符串函数。

马克

答案 2 :(得分:1)

使用VARCHAR(MAX)。这就是它的用途。甚至可能是NVARCHAR(MAX)。

答案 3 :(得分:1)

由于Microsoft plans to deprecate the text, ntext, and image datatypes,我建议使用varchar类型,其大小限制为max

答案 4 :(得分:0)

有大量文字的[n]varchar(max)(旧版[n]text的替代品)。