sql server - Производительность SQL: есть ли какая-либо производительность, использующая NVarchar(MAX) вместо NVarChar(200)




sql-server performance (2)

Выбор nvarchar (max) также может повлиять на оптимизацию плана выполнения, автоматически адаптированную движком сервера sql.

Мне интересно, есть ли недостаток в определении столбца типа nvarchar (max) вместо того, чтобы дать ему (меньший) максимальный размер.

Я где-то читал, что если значение столбца имеет более 4 Кбайт, остальные данные будут добавлены в область «переполнения», что нормально.

Я создаю таблицу, где большую часть времени текст будет иметь несколько строк, но мне было интересно, есть ли преимущество в настройке нижнего предела, а затем добавление проверки, чтобы избежать нарушения этого предела.

Есть ли ограничение на создание индексов с столбцом nvarchar (max) или все, что платит за добавление ограничения на ограничение размера?

Благодаря!


индекс не может быть создан в столбце более 900 байт. Столбцы из типов данных большого объекта (LOB) ntext, text, varchar(max) , nvarchar (max), varbinary (max), xml или изображение не могут быть указаны как ключевые столбцы для индекса

однако вы можете использовать included columns

Разрешены все типы данных, кроме текста, текста и изображения. Индекс должен быть создан или перестроен в автономном режиме (ONLINE = OFF), если любой из указанных неключевых столбцов являются типами varchar (max), nvarchar (max) или varbinary (max).





nvarchar