sql blob和图像类型之间有什么区别

时间:2011-05-25 09:36:03

标签: sql image types blob

这个问题实际上是今天早上由我的其中一个提出给我的,它完全让我感动,因为我甚至没有意识到SQL有一个'图像'数据类型所以我总是简单地走下去压缩文件/图像等到BLOB字段的路径。

在(非常)快速浏览msdn之后,我真正找到的最多信息是图像数据类型 pages 的工作方式类似于blob或varbinary(max),最大可达[max]大小约2GB,但过去这似乎无法找到更多关于它。

我想知道图像数据类型是否可以在SQL中为图像提供可索引/可搜索的元数据??

有没有人可以通过链接或解释来提供任何内容?

感谢任何帮助,非常感谢任何回复!

更新/可能的答案

经过多一点挖掘之后,我或许已经取得了一些进展......

很可能我对“图像”类型所涉及的内容的原始想法可能有些误导,可能是由于这种类型被称为“图像”(我在第一眼看起来很容易产生误导),我认为与mimetype中的图像有点相关,但它似乎推断出更多的“磁盘图像”或“二值图像”的想法。

以这种方式,似乎在允许varbinary类型作为(max)字段之前将IMAGE类型引入SQL,这可能是一种以现在理所当然的方式在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

如果有人能对这个可能的答案提出任何建设性的批评,那么在试图理解这个答案时真的很有用......

干杯全部!

2 个答案:

答案 0 :(得分:2)

它依赖于供应商,但通常是:

blob/image数据类型是一种列类型,用于将二进制数据存储在数据库中单独与其他列。因此,每当您询问图像/ blob数据时,数据库都会查找位置并读取数据并发回给您。

某些供应商执行TEXT数据类型,这与它接受文本数据的区别是相同的,因此您可以在其上放置全文索引。

答案 1 :(得分:1)

当您引用Microsoft SQL Server时,在选择IMAGE和VARBINARY数据类型时要记住的一件重要事情是Microsoft正在弃用IMAGE类型 - 因此您不使用它的事实就是在您的情况下非常好的事情。

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