Answers:
您正在将text / varchar(max)(LOB类型)与varchar(n)/ char(n)混淆
否则,如果使用char(1000)而不是varchar(1000),并且平均数据长度为42,则这是错误的设计,并且浪费了大量空间。
在不了解您的架构的情况下很难告诉您特定的性能提升或命中率,但是总的来说,您需要定义数据类型以匹配您的数据。如果需要固定宽度(例如,您将知道始终有五个字符),则应使用char(5)。如果数据量可变,则应使用varchar(5)。
对于SQL,页面上可以容纳的数据越多,性能就越好。