Какие проблемы может вызвать NVARCHAR (3000)

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

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
4
0
947
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

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

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

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

Ответ принят как подходящий

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

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

Другие вопросы по теме