如果我的表中的mssql varchar [1024]总是空的,那么每行磁盘上的db文件会浪费多少实际字节?
请让我知道两者的大小:
NULL允许存储''
NULL不允许存储''
NULL允许存储NULL
由于max varchar大小> 2 ^ 1且<2 ^ 3,因此我假定长度为2个字节.但也许会有更多的开销,例如,如果存在指向实际数据的引用.
我相信varchar只使用保存字符串所需的最小存储空间.MSDN和网上书籍似乎证实了这一点.但是,存储数据(包括其他字段)的总和不能超过一定长度(我认为是8K).我不认为你有这个问题,因为我认为它在创建时被标记.
更多细节在这里:http://doc.ddart.net/mssql/sql70/ca-co_3.htm