所以一列会保留一些文字,事先我不知道这个字符串的长度是多长.实际上,95%的时间,它可能在100-500个字符之间,但可能有一个案例,它将10000个字符长.我无法控制此字符串的大小,也从不对用户进行控制.除了varchar(max)之外,你们发现了哪些其他策略有用?还有什么varchar(max)的缺点?
我使用的是sqlserver 2005中的varchar(max).
SqlServer奇怪地处理大字符串字段,因为如果指定"text"或大varchar而不是max,它会将部分位存储在记录中,其余部分存储在外部.
据我所知,varchar(max)它继续存储并将整个内容存储在记录之外,这使得它比小文本输入效率低.但它比"文本"字段更有效,因为它不必通过获取部分内联和其余指针来查找该信息2次.