【问题标题】:SQL Filestream for objects which size is less than 1MB大小小于 1MB 的对象的 SQL 文件流
【发布时间】:2011-07-29 09:19:47
【问题描述】:

我在数据库中存储了许多小图像,并想使用 SQL Server 的文件流功能。但微软建议将它用于大于 1MB 的对象,但我的平均对象大小是 300KB。所以我想知道,Filestream 会起作用吗?如果有,有什么缺点? 我使用 SQL Server Express 2008 R2,我希望这个功能可以帮助我节省数据库大小,否则它会增长到 Express 版本限制大小。 谢谢

【问题讨论】:

  • 我认为将图像存储在文件系统中会更好
  • @Dor - 这取决于 Lukas 是否需要强大的事务支持。
  • 我知道我可以将图像存储为文件,但我想知道文件流功能,它是否能正确处理小对象。也许有人知道?

标签: sql filestream sql-server-2008-r2 sql-server-2008r2-express


【解决方案1】:

微软在their documentation处理这个问题:

何时使用 FILESTREAM

在 SQL Server 中,BLOB 可以是标准的 varbinary(max) 数据,用于存储 表中的数据,或 FILESTREAM varbinary(max) 对象 文件系统中的数据。数据的大小和用途决定了 您应该使用数据库存储还是文件系统存储。如果 以下条件为真,您应该考虑使用 FILESTREAM:

  • 正在存储的对象平均大于 1 MB。
  • 快速读取访问很重要。
  • 您正在开发使用中间层的应用程序 应用逻辑。

对于较小的对象,将 varbinary(max) BLOB 存储在数据库中 通常提供更好的流媒体性能。

所以它应该可以工作(假设 Express 支持它)——您可能只是在较小对象的数据库内方法中性能受损。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    相关资源
    最近更新 更多