Существует ли большая техническая разница между Varbinary (Max) и типами данных изображения?
-
29-09-2019 - |
Вопрос
Я читал в Интернете эти заявления о SQL Server типы данных:
VARBINARY(MAX)
- двоичные строки с переменной длиной могут хранить до 2^31-1 байт.IMAGE
- двоичные строки с переменной длиной до 2^31-1 (2 147 483 647) байтов.
Есть ли действительно большая техническая разница между VARBINARY(MAX)
и IMAGE
типы данных?
Если есть разница: нужно ли настраивать, как ADO.net вставляет и обновляет поле данных изображения в SQL Server?
Решение
Они хранят те же данные: Это настолько далеко.
"image
«Устанена и имеет ограниченный набор функций и операций, которые работают с ним. varbinary(max)
может работать как более короткий varbinary
(То же самое text
и varchar(max)
).
Не использовать image
Для любого нового проекта: просто поиск здесь, чтобы проблемы фолк имеют image
и text
Типы данных из-за ограниченной функциональности.
Другие советы
Я думаю, что технически они похожи, но важно заметить следующее из Документация:
Типы данных NTEXT, текста и изображения будут удалены в будущей версии MicrosoftSQL Server. Избегайте использования этих типов данных в новой разработке и планируйте изменение приложений, которые в настоящее время их используют. Вместо этого используйте NVARCHAR (MAX), VARCHAR (MAX) и Varbinary (MAX).
Фиксированные и типы данных с переменной длиной для хранения большого неканакода и символов Unicode и> двоичных данных. Data Unicode использует набор символов Unicode UCS-2.
Они хранят те же данные: Это настолько далеко.
«Image» устарено и имеет ограниченный набор функций и операций, которые работают с ним. Varbinary (Max) может работать на более коротком варбинарном (то же самое для текста и варечана (макс)).
Не используйте изображение для любого нового проекта: просто поиск здесь, чтобы проблемы фолк имеют с изображением и текстовыми типорами данных из-за ограниченной функциональности.
Фактически, VARBINARY
может хранить любые данные, которые могут быть преобразованы в байтовый массив, такой как файлы, и это тот же процесс, который IMAGE
Тип данных использует, поэтому на этой точке зрения оба типа данных могут хранить те же данные. Но VARBINARY
иметь свойство размеров, пока IMAGE
принимает любой размер вплоть до пределов типа данных, поэтому при использовании IMAGE
Тип данных, вы потратите больше ресурсов для хранения тех же данных. В Microsoft® SQL Server®., IMAGE
Тип данных действительно устарелен, тогда вы должны сделать ставку на VARBINARY
тип данных.
Но будьте осторожны: Microsoft® SQL Server® CE® (включая последнюю версию 4.0) по -прежнему используя IMAGE
Тип данных и, вероятно, этот тип данных не «исчезает» так скоро, потому что в компактных версиях Edition этот тип данных лучше, чем любые другие для хранения Fast файлов.
Я случайно нашел одно отличие между ними. Вы можете вставить строку в тип изображения, но не в Varbinary. Возможно, именно поэтому MS осуждает тип изображения, поскольку на самом деле не имеет смысла устанавливать изображение строкой.