【问题标题】:Creating a new text column in a SQL Server Table: which type should I choose?在 SQL Server 表中创建新的文本列:我应该选择哪种类型?
【发布时间】:2010-10-11 19:35:09
【问题描述】:

我有一个长度为 30 个字符的文本字段,但它可以达到大约 2000 个字符。

为了“未来的安全”,如果这个新列可以支持 3.000 个字符,那就太好了。我认为这个字段的平均大小是 250 个字符。

哪种 SQL Server 2000 数据类型更能提高性能和磁盘空间?

【问题讨论】:

    标签: sql sql-server database database-design data-structures


    【解决方案1】:

    您需要 unicode 还是非 unicode 数据?使用 varchar(3000) 或 nvarchar (3000)。不要使用 text 或 ntext,因为它们会导致查询或更新问题。

    为平均长度设计是没有意义的。

    【讨论】:

      【解决方案2】:

      如果您的字段最多可容纳 3000 个字符,您可能应该确保您的数据类型能够容纳这么大的内容。设计基于你的最大值,而不是你的平均值。

      【讨论】:

      • 感谢参与。您对在这种情况下使用的数据类型有什么建议吗?
      • @Victor: varchar(3000) 会给你最大的灵活性。使用文本字段会使查询字段内容变得更加困难。
      • 此外,如果您计划接受的字符不仅仅是您的标准字符集(例如为多种语言开发),HLGEM 将 Nvarchar 加入到混合中是一个不错的选择。
      【解决方案3】:

      这听起来像是 VarChar 的完美案例。您是否对该字段进行任何索引?

      【讨论】:

      • 我不会为这个字段建立索引。
      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2014-02-09
      相关资源
      最近更新 更多