В чем разница между типами sql blob и image

#sql #image #types #blob

#sql #изображение #типы #большой двоичный объект

Вопрос:

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

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

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

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

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

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

После еще небольшого изучения я, возможно, достиг некоторого прогресса в этом…

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

Таким образом, кажется, что тип 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

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

Приветствую всех!

Комментарии:

1. Чтобы уточнить, платформой является MS SQL Server 2005/2008 ( я думаю )

Ответ №1:

Это зависит от поставщика, но в целом:

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

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

Ответ №2:

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

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