在设计数据库时,比如定义一个字段为nvarchar(1000),是否它将固定占用长度为1000字符的字节容量?即使没有写入任何内容?

解决方案 »

  1.   

    SQL SERVER每行记录的空间大小是固定的 好象是8096吧。你声明了nvarchar(1000), 即使你没用。 那么下行记录和你这行记录占用的空间是不一样的。
      

  2.   

    嗯, varchar和char是有区别的,nvarchar(1000)表示最大是1000
      

  3.   

    我是指varchar的最大长度值,是否会影响到数据库的大小:值为1000的要比100多占用磁盘空间?即使这个字段中都没有填写任何内容,但是都会固定为其分配一定的空间?
      

  4.   

    To flaigd :
    你声明了nvarchar(1000),   即使你没用。   那么下行记录和你这行记录占用的空间是不一样的。
    按你的逻辑应该是一样的吧?
      

  5.   

    (n)varchar 类型所占用的空间, 是根据实际存储的内容的长度来决定的。 所以它是动态分配空间的, 采用 (n)varchar 的类型,是节约空间但有点影响性能的方式。 而(n)char则刚好相反, 它的长度是固定的, 所以空间不变, 是浪费空间但性能有些提升的方式。