【问题标题】:Is Varchar(Max) take much space than Varchar(N) if text length is fixed?如果文本长度固定,Varchar(Max) 是否比 Varchar(N) 占用更多空间?
【发布时间】:2019-12-26 10:28:44
【问题描述】:

我正在开发现有软件(SQL、C#)以提高其效率。在这个项目中,在需要字符串的地方使用 varchar(max)。我想将 varchar(Max) 转换为 varchar(N)。为此目的我阅读了许多比较 varchar(max) Vs varchar(N) 的文章 - 很明显 varchar(N) 的响应时间比 Varchar(Max) 要快。但是我关于存储比较 Varchar(Max) Vs Varchar(N) 的问题)-例如如果我插入“Hello”,数据类型 varchar(Max) 和 varchar(100) 的存储是否相同?如果不是,那么这两种情况有多大区别?

【问题讨论】:

  • 从此链接获取帮助-stackoverflow.com/questions/20229441/…
  • (n)varchar(MAX) 的存储不同于(n)varchar(x)MAX 数据类型通常与表位于不同的存储位置(不在同一页中)。需要值时会查找这些值。
  • @Larnu 谢谢...我们可以说 varchar(MAX) 比 varchar(N) 占用更多空间..如果文本长度是固定的?
  • "如果文本长度是固定的" 不,它是 varchar,而不是 char。 var是varying的缩写;因为值具有不同的长度。如果您使用的是固定长度的字符串,则需要char

标签: sql-server sqldatatypes


【解决方案1】:

Varchar(MAX) 和 Varchar(n) 为 Column 中的相同文本存储保留修复空间。 我有两个表 tblMaxData 和 tblNData 并且两个表都有一个带有 VARCGAR(MAX) 和 VARCHAR(N) 的列。列在两个表中都有“你好”值。之后我检查了空间,两列都有相同的占用空间。

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 2013-06-15
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2011-02-11
    相关资源
    最近更新 更多