在SQL Server(2005)中存储适量文本的最佳数据类型是什么?

时间:2008-10-15 05:11:17

标签: sql-server-2005 types

用于在SQL Server(2005)中存储适量文本的最佳数据类型是什么?

例如,想象一个表,存储有关网站上可用下载的信息。 我想要一个简短的下载标题,比如varchar(20)。一个路径,比如varchar(255)然后我想存储一些关于下载的用户友好文本 - 描述。在某些情况下,它可能与标题一样短,有时您可能需要一些段落的解释。

什么是最好的?一个大小为4000的varchar,或varchar(max)或其他东西?

3 个答案:

答案 0 :(得分:4)

PAD(便携式应用程序描述)规范程序描述的最高字符限制是2000个字符*参见程序描述部分。

http://www.asp-shareware.org/pad/spec/spec.php

下载网站提交工具使用此规范可以让作者更轻松地提交他们的软件。另外我认为你可以按照PAD规范下载一些列表。

所以我建议varchar(2000)基于这个事实,我不想存储超过我需要的东西。使用varchar(max)可以很好地记录一条记录,但是当你有数千条时,存储成本可能会上升。

编辑:varchar(max)可以是2GB - 1,这就是为什么我会限制它。 http://msdn.microsoft.com/en-us/library/ms176089(SQL.90).aspx

答案 1 :(得分:2)

使用varchar(max),您可以在其中放入一个大文本,并根据需要增加其存储大小。你可以使用sql组函数,例如on,on by varchar(max)。 或者如果在SQL中查找全文搜索,您可以使用文本数据类型

答案 2 :(得分:0)

大小应取决于所存储数据的大小。不要将varchar(max)用于只有2个字符的状态字段。我通常会查看我期望获得的最大值,然后在确定大小时添加10-20%的软糖因子。如果需要存储unicode字符,请不要忘记使用nvarchar。