#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, поэтому тот факт, что вы его не использовали, в вашем случае очень хорош.