В чем разница между BLB-объектами и типами изображений - PullRequest
7 голосов
/ 25 мая 2011

Этот вопрос на самом деле был задан мне сегодня утром одним из моих компаньонов, и он меня полностью отбросил, поскольку я даже не осознавал, что в SQL был тип данных 'image', поэтому я всегда просто опускался вниз.маршрут сжатия файлов / изображений и т. д. в поля BLOB.

После (очень) быстрого осмотра msdn самое большее, что я действительно смог найти, это информация о том, что тип данных pages работает какblob или varbinary (max) размером до [max] ~ 2 ГБ, но в прошлом это, кажется, не может найти слишком много об этом.

Мне интересно, может быть, тип данных изображения является способомпредоставление индексируемых / доступных для поиска метаданных на изображениях в SQL ...?

Кто-нибудь может предложить что-либо с помощью ссылок или пояснений по этому поводу?

Любая помощь будет с благодарностью получена, поэтому многиеспасибо заранее за любые ответы!

ОБНОВЛЕНИЕ / Возможный ответ

После еще немного раскопок я, возможно, достиг некоторого прогресса с этим ...

Вполне может быть, чтомои первоначальные мысли о том, что относится к типу «изображения», могли быть несколько ошибочными, возможно, из-за типа, названного «имидж» (который я, по-видимому, нашел довольно вводящим в заблуждение при первом взгляде), который, по моему мнению, относился к изображению в миметипекстати, но, похоже, выводит больше идей типа «образ диска» или «двоичный образ».

Таким образом, кажется, что тип IMAGE был введен в SQL до того, как был разрешен тип varbinary.как (max) поле, возможно, как способ хранения файлов в SQL таким образом, который сейчас считается само собой разумеющимся (по крайней мере, мной) с использованием VARBINARY (MAX) ...

Для справки (оба достаточно старые, но, кажется, соответствуют требованиям):

http://channel9.msdn.com/Forums/Coffeehouse/138883-Storing-Retrieving-images-from-SQL-Server-2005

http://www.basenow.com/help/Data_types_in_Microsoft_SQL_Server.asp

Если кто-либоможет предложить любой конструктивный критический анализ этого возможного ответа, которыйочень полезно пытаться понять это ...

Cheers All!

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Зависит от поставщика, но обычно:

A blob/image тип данных - это тип столбца, который хранит двоичные данные в базе данных отдельно от остальных столбцов. Поэтому каждый раз, когда вы запрашиваете данные изображения / блоба, база данных ищет местоположение, считывает данные и отправляет обратно вам.

Некоторые поставщики делают TEXT тип данных, который является тем же самым, с той разницей, что он принимает текстовые данные, так что вы можете добавлять к ним полнотекстовые индексы.

1 голос
/ 22 ноября 2011

Когда вы ссылаетесь на Microsoft SQL Server, при выборе между типами данных IMAGE и VARBINARY следует иметь в виду одну важную вещь: Microsoft осуждает тип IMAGE - поэтому тот факт, что вы его не использовали, в вашем случаеочень хорошая вещь

http://msdn.microsoft.com/en-us/library/ms143729.aspx

...