0

我在 ASP.NET MVC3 中实现一个文件共享系统。我想大多数文件共享站点以标准二进制格式将文件存储在服务器的文件系统上,对吧?

我有两种存储方式——文件系统或数据库中的二进制数据字段。

将文件(包括大文件)存储在数据库中而不是文件系统中是否有任何优势?

更多信息:

预期的平均文件大小为 800 MB。通常要求每分钟 3 个文件反馈给正在下载的用户。

4

2 回答 2

0

如果文件这么大,那么使用文件系统几乎肯定是更好的选择。数据库旨在包含分组为小行的关系数据,并针对查询和比较这些关系中的值进行了优化。文件系统针对存储相当大的 blob 并按名称作为字节流调用它们进行了优化。

将这么大的文件放入数据库也会使管理数据库占用的空间变得困难。查询文件系统中使用的空间以及删除和替换数据的工具更好。

使用文件系统的唯一警告是,您的应用程序必须在具有写入用于存储这些文件的(部分)文件系统的必要权限的帐户下运行。

于 2012-04-05T23:17:39.830 回答
0

在以下情况下使用 FileStream:

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

这是 MSDN 链接https://msdn.microsoft.com/en-us/library/gg471497.aspx

如何使用它:https ://www.simple-talk.com/sql/learn-sql-server/an-introduction-to-sql-server-filestream/

于 2016-01-18T18:32:38.053 回答