Varchar (max) в sqlserver 2005 - это то, что я использую.
SqlServer странно обрабатывает большие строковые поля, в том случае, если вы указываете «текст» или большой varchar, но не max, он сохраняет часть битов в записи, а остальные - снаружи.
Насколько мне известно, с помощью varchar (max) он продвигается вперед и сохраняет все содержимое в записи, что делает его менее эффективным, чем небольшой текстовый ввод. Но оно более эффективно, чем текстовое поле, так как ему не нужно искать эту информацию 2 раза, получая часть внутри строки, а остальную часть из указателя.