На этот вопрос никто точно ответить не может. Но можно произнести мысли в слух:
- Для чего был создан nvarchar(n)? Почему в MSSQL не создать nvarchar, без каких либо намеков на размер (как например, string в C#)? Значит получается кому-то (а имено MSSQL) этот размер нужен, значит лучше его установить.
- Есть еще такой плюс, это индексация. nvarchar(max) НЕ индексируется, т.е. поиск по этому полю не ускорить. Максимальный размер, который можно проиндексировать nvarchar(450) (могу ошибаться)
- Как известно в мире все конечно, особенно время. Так с поле nvarchar(max), тоже имеет свой конечный размер. Какой именно сказать не могу, это связано с настройками BD.
Не смотря на все выше перечисленное, я больше пользуюсь nvarchar(max), тем самым я оберегаю себя от проблем, которые могут возникнут, если я не угадал размер.
И еще, если никто четко не может ответить что лучше, значит разницы нет.
|