Какие проблемы может вызвать NVARCHAR (3000) - PullRequest
4 голосов
/ 20 ноября 2008

У меня уже есть большая таблица, которую мои клиенты просят меня увеличить длину поля заметок. Поле для заметок уже является NVARCHAR (1000), и меня просят расширить его до 3000. Долгосрочное решение состоит в том, чтобы переместить заметки из таблицы и создать таблицу заметок, которая использует поле NVARCHAR (max), к которому только присоединяются в случае необходимости. Мой вопрос о краткосрочной перспективе. Зная, что это поле будет удалено в будущем, какие проблемы у меня могут возникнуть, если я просто увеличу поле до NVARCHAR (3000) сейчас?

Ответы [ 5 ]

3 голосов
/ 20 ноября 2008

text и ntext не рекомендуется в пользу varchar (max) и nvarchar (max). Так что nvarchar (3000) должен быть в порядке.

2 голосов
/ 20 ноября 2008

Вы, наверное, уже знаете это, но просто убедитесь, что увеличенная длина не влияет на общую длину записи более 8000. Я почти уверен, что это применимо и к 2005 / 2008.

1 голос
/ 20 ноября 2008

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

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

1 голос
/ 20 ноября 2008

Вы должны быть в порядке с nvarchar (3000) для временного решения. Вы можете пойти до максимума nvarchar (4000). И как сообщалось ранее на km.srd.myopenid.com, убедитесь, что вся длина вашего ряда не превышает 8000 (помните, что nvarchar в 2 раза больше обычного varchar - поэтому вы можете иметь только nvarchar (4000 ), но вы можете иметь varchar (8000)).

0 голосов
/ 21 ноября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...