Какой тип данных выбрать ?

Vw

Дайте совет !В поле будет храниться файлы размером от 20 до 300 кб. ms sql 2005.Какой тип для этого лучше и какой размер ему задавать?binary(n) varbinary(n) image
18 ответов

Vw

уж точно не binary(n), зачем гробить пространство (300-20/2=140 кб на запись в среднем)я бы выбрал image, всетаки отдельно от таблицы лежит, таблица побыстрей селектится будет, т.к. в одной странице поместится много записей


Vw

Я пока выбрал varbinary(mx) А где то я читал(если не ошибаюсь) что МС не рекомендует пользовать image,т.к. в следующих версиях его не будет. И сохранили его тока для совместимости


Vw

А где то я читал(если не ошибаюсь) что МС не рекомендует пользовать image,т.к. в следующих версиях его не будет.
Не где-то, я в BOL написано.


Vw

Ну так остаётся varbinary(n) ?


Vw

Правильный выбор


Vw

Не где-то, я в BOL написано.
Не вспомните, где конкретно ? Навскидку такого не нашел...


Vw

BOL 2005 -> поиск -> Using text and image Data


Vw

BOL: Important:text, ntext, 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 these data types. Use varchar(max), nvarchar(max) and varbinary(max) data types instead. For more information, see Using Large Value Data Types.


Vw

BOL 2005 -> поиск -> Using text and image Data
Долго бы искал в BOL 2000 :) В нем ничего подобного. И чем они там предлагают заменить ? Или в 2005 для varbinary(N) нет ограничения по N ?


Vw

Даже если есть - это делу не мешает.


Vw

BOL2005:varbinary [ ( n | max) ]Variable-length binary data. n can be a value from 1 through 8,000. max indicates that the maximum storage size is 2^31-1 bytes. The storage size is the actual length of the data entered + 2 bytes. The data that is entered can be 0 bytes in length. The SQL-2003 synonym for varbinary is binary varying.


Vw

varbinary [ ( n | max) ]Variable-length binary data. n can be a value from 1 through 8,000. max indicates that the maximum storage size is 2^31-1 bytes. The storage size is the actual length of the data entered + 2 bytes. The data that is entered can be 0 bytes in length. The SQL-2003 synonym for varbinary is binary varying.
Есть подозрение, что varbinary (max) просто представляет собой синоним для image. И, по причине backward compatibility, тип image будет жить еще долго и счастливо...


Vw

Есть подозрение, что varbinary (max) просто представляет собой синоним для image. И, по причине backward compatibility, тип image будет жить еще долго и счастливо...
Какая разница у него нет нужды в обратной совместимости, так что varbinary (max) для него оптимальное решение


Vw

[у него нет нужды в обратной совместимости, так что varbinary (max) для него оптимальное решение
Согласен полностью, просто ранее не обратил внимания на то, что речь о 2005...


Vw

Согласен полностью, просто ранее не обратил внимания на то, что речь о 2005...
А я согласен насчет алиаса. Потихоньку они убирают свои изобретеные названия в пользу стандарта


Vw

А я согласен насчет алиаса. Потихоньку они убирают свои изобретеные названия в пользу стандарта
Где это написано? Имхо, наоборот, image - алиас для varbinary...


Vw

Где это написано? Имхо, наоборот, image - алиас для varbinary...
В моем посте именно это и подразумевалось, но что алиас, а что нет вопрос сложный, в разные моменты они местами могли меняться. Varbinary вроде появился позже.Основной термин сейчас varbinary, будем тогда считать, что image псевдоним и не исключено, что в более поздних версия будет совсем убран, если вдруг это имя потребуется для других целей.


Vw

на сегодняшний день загрузка в image в разы быстрее чем в vabinary(max)так что отказ от image даже в планах бессмысленен