Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужен совет. NVARCHAR или NTEXT  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
Добрый день.

Предполагается легирование некоторых действий пользователя. Нужно хранить описание, которое будет не более 1000 символов (это уже с приличным запасом).

Вопрос, что лучше выбрать для этих целей? либо NVARCHAR(1000) или NTEXT?

вопрос сводиться к тому, что из за этого база физически может прилично изменяться в размерах.

Вопрос 1:
Хочется понять, если мы выберем NVARCHAR(1000), то при создании записи в БД на одну строку будет выделено 2000 байт независимо от того, сколько в поле символов? или это имеет значение. И тот же вопрос с NTEXT, если в данное поле записать 100 символов, размер базы увеличится на 200 байт или на больший размер?

Вопрос2:
Измениться ли размер базы если в NVARCHAR(1000) записать NULL?
Измениться ли размер базы если в NTEXT записать NULL?
23 июн 17, 09:02    [20585227]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Игорь_UUS,

автор
IMPORTANT! ntext, text, and image data types will be removed in a future version of SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead.
23 июн 17, 09:07    [20585234]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
автор
легирование некоторых действий пользователя
"Как закалялась сталь - 2" :)
23 июн 17, 09:08    [20585237]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Использовать NVARCHAR(1000), потому как NTEXT всегда будет на LOB страницах. В NVARCHAR один символ приходится два байта. Записали 300 символов весит все в итоге 600. По второму вопросу нет - для поля и так резервируется два байта если поле переменной длины для хранения там нула. Если что не так написал поправте плиз остальные. Но не доспал малость ))
23 июн 17, 09:08    [20585238]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
TaPaK
Игорь_UUS,

автор
IMPORTANT! ntext, text, and image data types will be removed in a future version of SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead.


Ну конечно же nvarchar(max)... тут видимо по привычке писал про ntext))
23 июн 17, 09:09    [20585243]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Игорь_UUS
TaPaK
Игорь_UUS,

пропущено...


Ну конечно же nvarchar(max)... тут видимо по привычке писал про ntext))

тогда вообще не ясен вопрос в контексте
автор
не более 1000 символов
23 июн 17, 09:10    [20585247]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Игорь_UUS, разницы особо никакой. Все раавно будет на IN_ROW храниться.
23 июн 17, 09:11    [20585249]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
TaPaK
Игорь_UUS
пропущено...


Ну конечно же nvarchar(max)... тут видимо по привычке писал про ntext))

тогда вообще не ясен вопрос в контексте
автор
не более 1000 символов


Вопрос в конечно счёте про увеличение размеров БД... я почему-то подумал, если выделить размер поля например NVARCHAR(1000), то если туда записать 100 символов, то в любом случае размер базы увеличиться на 2000 байт (а не на 200), а если nvarchar(max), то размер увеличения будет фиксированным на количество записанных символов
23 июн 17, 09:14    [20585255]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Игорь_UUS, вы с CHAR/NCHAR спутали поведение. А так все норм будет.
23 июн 17, 09:16    [20585260]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет. NVARCHAR или NTEXT  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
AlanDenton
Игорь_UUS, вы с CHAR/NCHAR спутали поведение. А так все норм будет.


Точняк! спасибо!

char будет полностью всё съедать...
23 июн 17, 09:17    [20585261]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить