将列设置为varchar(256),如果所有内容最多为100,这会浪费更多空间吗?

mrb*_*lah 1 sql-server asp.net

如果我知道表列实际上只需要为 varchar(100) 即数据不会长于 100 个字符,如果我将该列设置为 varchar(256) 会有什么不同吗?

据我了解,由于该列允许可变长度,因此只要数据不大于 100,将其设置为 100 或 256 不会有任何不同。

它是否正确?

Raj*_*ore 5

varchar 只会使用输入的空间,而 char 则会用空格填充。因此,varchar 列上的流量大小比 char 列小得多。