在 SQL Server 2008 中使用 varchar 的速度影响

Car*_*ngo 9 sql-server-2008 sql-server

在过去,使用varcharoverchar是一个很大的禁忌,因为varchar与行的其余部分存储在不同的页面上。今天的 SQL Server 2008 是否仍然如此?将 1-3varchar(5)列更改为char(5)表中的列,我会看到任何内存/性能提升吗?

a) 说 2.000.000 行 b) 如果任何varchar列是索引/主键的一部分

gbn*_*gbn 8

您将 text/varchar(max)(LOB 类型)与 varchar(n)/char(n) 混淆

否则,如果您使用 char(1000) 而不是 varchar(1000) 并且平均数据长度是 42,这是糟糕的设计,会浪费很多空间。