在 SQL 服务器中存储长度不同的文本的最佳方式

Best way to store text with very differernt length in SQL Server

我想将文本存储到 SQL 服务器。我的文本长度非常不同(1-10000 个字符长度)。我想在数据库中存储最小长度的文本。

我的问题:我必须 select 作为列类型吗?

当我们 select 像 varchar(100) 这样的列的类型时,当我们为该列添加值为 null 的行时,数据库大小会增加吗?

例如,我 table 是这样的:

id    txt(Varchar(100))     
---  -----
1     some text     
2     null

当我为 txt 列添加一个空值的行时,数据库大小会增加吗?

varchar 是这里唯一的选项。它由数据库有效地存储,并占用 space 所需的(+开销)。 也就是说,如果您的数据是 100 个字符,那么它使用的存储空间将比您的数据是 1000 个字符时少。 这是一本值得阅读的好书:"Microsoft SQL Server 2008 Internals"