如果我的表中的mssql varchar [1024]总是空的,那么浪费多少实际字节数?

Bri*_*ndy 3 sql sql-server

如果我的表中的mssql varchar [1024]总是空的,那么每行磁盘上的db文件会浪费多少实际字节?

请让我知道两者的大小:

  1. NULL允许存储''
    • NULL不允许存储''
    • NULL允许存储NULL

由于max varchar大小> 2 ^ 1且<2 ^ 3,因此我假定长度为2个字节.但也许会有更多的开销,例如,如果存在指向实际数据的引用.

And*_*ngs 6

我相信varchar只使用保存字符串所需的最小存储空间.MSDN和网上书籍似乎证实了这一点.但是,存储数据(包括其他字段)的总和不能超过一定长度(我认为是8K).我不认为你有这个问题,因为我认为它在创建时被标记.

更多细节在这里:http://doc.ddart.net/mssql/sql70/ca-co_3.htm