NVarchar (MAX) для коротких струн - PullRequest
3 голосов
/ 04 августа 2009

Меня интересует, является ли NVarchar (MAX) хорошим типом данных, я хочу хранить короткие строки в юникоде длиной 1-50 символов, но большинство из них (более 90%) имеют длину 5-10 символов?

Столбец не будет использоваться в запросах сравнения и упорядочения. Он может быть добавлен в индекс как включенный столбец. Ожидаемое количество строк - более 10 млн.

Есть рекомендации? Заранее спасибо!

Ответы [ 3 ]

6 голосов
/ 04 августа 2009

Зачем вам использовать nvarchar (MAX) для таких коротких строк? Если вы знаете, что максимальная длина составляет 50 символов, сделайте это nvarchar (50).

Кроме того, я не верю, что столбец nvarchar (MAX) может быть включен в индекс, поскольку он нарушит ограничение в 900 байт.

1 голос
/ 04 августа 2009

NVARCHAR (MAX) (который, как я считаю, аналогичен NTEXT в более ранних версиях SQL-сервера), предназначен для хранения длинных текстовых значений переменной и потенциально неограниченной длины.

Если вы знаете, что значения не будут превышать N символов, вам следует использовать NVARCHAR (N).

1 голос
/ 04 августа 2009

Я бы предположил, что nvarchar (50) более подходит, если максимальная длина действительно равна 50.

...