Существует ли большая техническая разница между Varbinary (Max) и типами данных изображения?

StackOverflow https://stackoverflow.com/questions/4113294

Вопрос

Я читал в Интернете эти заявления о SQL Server типы данных:

  1. VARBINARY(MAX) - двоичные строки с переменной длиной могут хранить до 2^31-1 байт.

  2. 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 Типы данных из-за ограниченной функциональности.

Примеры от SO: Один, Два

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

Я думаю, что технически они похожи, но важно заметить следующее из Документация:

Типы данных 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 осуждает тип изображения, поскольку на самом деле не имеет смысла устанавливать изображение строкой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top