我正在ASP.NET MVC3中实现文件共享系统。我想大多数文件共享站点都会在服务器的文件系统中以标准二进制格式存储文件,对吧?
我有两个存储选项 - 文件系统或数据库中的二进制数据字段。
将文件(包括大型文件)存储在数据库中,而不是存储在文件系统中是否有任何优势?
更多信息:
预期的平均文件大小为800 MB。通常要求每分钟3个文件反馈给正在下载的用户。
答案 0 :(得分:0)
如果文件大小那么大,那么使用文件系统几乎肯定是更好的选择。数据库旨在包含分组为小行的关系数据,并针对这些关系中的值进行咨询和比较进行了优化。文件系统针对存储相当大的blob进行了优化,并通过名称作为字节流进行调用。
将大文件放入数据库也会使管理数据库占用的空间变得困难。用于查询文件系统中使用的空间以及删除和替换数据的工具更好。
使用文件系统的唯一警告是,您的应用程序必须在具有编写用于存储这些文件的(部分)文件系统的必要权限的帐户下运行。
答案 1 :(得分:0)
在以下情况下使用FileStream:
以下是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/