Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Надо ли избегать использовать varchar(MAX)?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
с точки зрения производительности?

Т.е. если я могу определить макс длину и она <8000, то лучше использовать такой вариант, а не MAX?
19 июн 12, 12:26    [12737284]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
tunknown
Member

Откуда:
Сообщений: 777
Достаточно давно я делал тест. Получилось, что varchar(max) медленнее varchar(8000) в 2 раза. Что за тест и на какой версии сервера- уже не помню. Думаю, если нет каких-то явно выраженных циклов, рекурсий и нет уверенности в будущем размере данных, то лучше применять varchar(max).
19 июн 12, 13:51    [12738224]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
И индекс по такому полю не сделаешь..
19 июн 12, 13:55    [12738275]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Нашел такое у Русану. В 2008 и 2012 надо понимать ничего не изменилсь принципиально в реализации.

http://rusanu.com/2010/03/22/performance-comparison-of-varcharmax-vs-varcharn/
19 июн 12, 13:58    [12738328]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
iap
И индекс по такому полю не сделаешь..
По varchar(8000) тоже не по всем значениям получится.
19 июн 12, 14:36    [12738731]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Гавриленко Сергей Алексеевич
iap
И индекс по такому полю не сделаешь..
По varchar(8000) тоже не по всем значениям получится.
А для VARCHAR(MAX) не получится для любых значений, однако!
Даже для коротких в действительности.
19 июн 12, 15:01    [12739006]     Ответить | Цитировать Сообщить модератору
 Re: Надо ли избегать использовать varchar(MAX)?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
iap
Гавриленко Сергей Алексеевич
пропущено...
По varchar(8000) тоже не по всем значениям получится.
А для VARCHAR(MAX) не получится для любых значений, однако!
Даже для коротких в действительности.
Его всегда можно повесить на вычисляемой поле, что от varchar(max), что от varchar(8000).
19 июн 12, 15:05    [12739065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить