Имеет ли смысл при создании таблицы для каждого строкового поля стараться определится с максимальным размером? Всегда есть вероятность ошибиться, как в одну так и в другую стороны. Насколько критично в плане производительности, если, к примеру, для полей Name, Title использовать nvarchar(max) ? Т.е. понятно что для данных полей какое то ограничение по длине существует, но и не угадаешь какое. Название какого нибудь документа может быть весьма длинным.
Хотелось бы узнать у профи мнение как поступать. Стараться, все таки, ограничить размер, или NVarchar(max) вполне терпим. Насколько, к примеру, поле с ошибочным размером (или расчитанным на очень очень редкие длинные случаи) выйдет хуже, чем если бы была бы просто установлена Max длина ? Окупит ли одно длинное название то, что остальные тысячи будут использовать от силы 1/5 заложенной длины ?
Правильно ли я понимаю, что, фактически, установка длины имеет лишь очень редкое предназначение, когда длина абсолютно четко задача для всех значений поля - например для хранение hash или GUID в виде строки?
Хотелось бы узнать у профи мнение как поступать. Стараться, все таки, ограничить размер, или NVarchar(max) вполне терпим. Насколько, к примеру, поле с ошибочным размером (или расчитанным на очень очень редкие длинные случаи) выйдет хуже, чем если бы была бы просто установлена Max длина ? Окупит ли одно длинное название то, что остальные тысячи будут использовать от силы 1/5 заложенной длины ?
Правильно ли я понимаю, что, фактически, установка длины имеет лишь очень редкое предназначение, когда длина абсолютно четко задача для всех значений поля - например для хранение hash или GUID в виде строки?