Все еще существует ограничение размера строки - минимальный размер строки не может превышать 8060 байтов
CREATE TABLE Table1 (
col1 char(2000),
col2 char(2000),
col3 char(2000),
col4 char(2000),
col5 char(2000)
);
Creating or altering table 'Table1' failed because the minimum row size would be
10007, including 7 bytes of internal overhead. This exceeds the maximum allowable
table row size of 8060 bytes.
Когда вы используете varchar (MAX), строки хранятся не внутри строки, а в другом месте, поэтому вы можете хранить более 8060 байт. Хранение большого количества больших строк, конечно, дорого. Просто сделайте расчеты, и вы увидите, что он быстро займет много места на диске. Но если вам нужно хранить большие строки, тогда все в порядке. База данных может справиться с этим.