FILESTREAM vs VARBINARY用于较小的文件

时间:2014-04-03 13:43:21

标签: sql-server filestream

我在这里找不到确切答案;如果我错了,请纠正我。

是否有令人信服的理由将VARBINARY用于预期中值大小为40KB的文档文件,极少数异常值可达到2MB(当有人上传扫描时)?

据Technet说:

  

[FILESTREAM适用于]存储的对象平均大于1 MB。

......在我的情况下,这将远非事实。

文件表本身会很小; 2000个文件的绝对限制。批量下载将限制为10个文件。

在这种情况下,FILESTREAMVARBINARY(MAX)之间可能没有任何区别。在做出选择时,是否还有文件大小和批量下载等因素需要考虑?

2 个答案:

答案 0 :(得分:4)

从绩效角度来看,您无需采用FILESTREAM路线。

然而,它确实比VARBINARY(MAX)具有另一个可能的优势 - 应用程序可以直接访问它""使用SqlFileStream

答案 1 :(得分:1)

在SQL Server 2008中,如果将varbinary列定义为存储为文件流,则二进制数据将存储在由SQL Server引擎管理的特殊文件夹结构中。数据库中唯一保留的是指向文件的指针以及必需的GUID列,以便使用来自Win32客户端的文件流。 我想,它可以帮助您理解您的问题。