用于大型字符串变量的最佳SQL类型是什么?

时间:2013-08-15 09:06:06

标签: sql sql-server sql-server-2008

为相当基本的问题道歉。

我有一个动态构建的错误字符串。字符串中的数据由各种第三方传递,因此我没有任何控制权,也不知道字符串的最终大小。

我有一个当前记录详细信息的事务表,我想要包含该字符串,以便我可以在必要时引用它。

2个问题:

  • 我应该如何将其存储在数据库中?
  • 我应该做其他事情,例如在代码中禁用字符串吗?

我正在使用Sql Server 2008 Web。

3 个答案:

答案 0 :(得分:1)

您可以使用SQL Server nvarchar(MAX)

也可以查看this

答案 1 :(得分:1)

最后,您可以启用和使用SQL Server 2008的FILESTREAM功能(它受WEB版支持),并处理文档意义上的额外大量数据。

当然,您需要确保使用此服务的好处。

答案 2 :(得分:1)

如果要存储非Unicode文本,可以使用:

varchar(max) or nvarchar(max)

最大长度为2GB。

其他替代方案是:

binary or varbinary

缺点:您无法搜索这些字段并对其进行索引和排序 最大尺寸:2GB。

有TEXT和NTEXT,但将来会被弃用, 所以我不建议使用它们。 它们具有与二进制相同的缺点。

所以最好的选择是varchar(max)或nvarchar(max)之一。