2011-05-25 105 views
7

这个问题实际上是由我的一个compadres对我造成的,它完全扔给我,就我甚至没有意识到SQL有一个'image '数据类型,所以我总是简单地将文件/图像等压缩到BLOB字段中。sql blob和图像类型有什么区别

具有围绕MSDN(非常)快看后最让我能真正找到了该信息,图像数据类型 像BLOB或varbinary(最大值)的作品多达〜2GB的[MAX]大小,但过去这似乎无法找到太多的关于它。

我想知道如果图像数据类型是一种在SQL中的图像上提供可索引/可搜索元数据的方式......?

有没有人有任何提供,通过链接或解释方式?

任何帮助将感激地收到,非常感谢任何答复!

UPDATE /可能的答案

多一点挖,我也许来达到的一些进展与在此之后...

这可能是我的什么“形象”原稿类型的想法涉及到可能有点误导,可能是由于类型被称为“形象”(我显然发现在第一次看起来相当误导),我认为这与一个模仿形式的图像有点类似,但似乎推断更多的是“磁盘映像”或“二进制映像”这种想法。

以这种方式,在将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

如果任何人都可以提供对这个可能的答案任何建设性的暴击,这将是在试图理解这真的有用...

干杯所有!

+0

为了澄清,该平台是MS SQL服务器2005/2008(_I think_) – BizNuge 2011-05-25 10:44:02

回答

2

它是供应商有关,但通常:

blob/image数据类型是存储在数据库中的单独的列的其余二进制数据的列类型。所以每次你要求图像/斑点数据时,数据库都会查找位置并读取数据并发回给你。

一些供应商做的是TEXT数据类型,它与它接受文本数据的区别是相同的,所以你可以在其上放置全文索引。

1

正如你所引用的Microsoft SQL Server,在IMAGE和VARBINARY数据类型之间选择时要牢记的一件重要的事情是,微软不赞成IMAGE类型 - 所以你没有使用它的事实是在你的情况下一件非常好的事情。

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