sql server 空间分配问题
在设计数据库时,比如定义一个字段为nvarchar(1000),是否它将固定占用长度为1000字符的字节容量?即使没有写入任何内容?
------解决方案--------------------SQL SERVER每行记录的空间大小是固定的 好象是8096吧。
你声明了nvarchar(1000), 即使你没用。 那么下行记录和你这行记录占用的空间是不一样的。
------解决方案--------------------嗯, varchar和char是有区别的,nvarchar(1000)表示最大是1000
------解决方案--------------------(n)varchar 类型所占用的空间, 是根据实际存储的内容的长度来决定的。
所以它是动态分配空间的, 采用 (n)varchar 的类型,是节约空间但有点影响性能的方式。
而(n)char则刚好相反, 它的长度是固定的, 所以空间不变, 是浪费空间但性能有些提升的方式。