何时应将文件上载到数据库中,而不是 Web 应用程序中的服务器


When should i upload a file into a database instead of the server in a web application?

正如标题所说,我担心何时应该将文件上传到数据库而不是服务器上。

在这些日子里,我第一次遇到将.pdf文件上传到我的 Web 应用程序中的必要性,以便每个需要它的人都可以访问它。但我的第一个方法是将文件上传到数据库中。

但这不是我的情况;我只需要上传一个文件,并使用下载链接,使其可以从用户下载。

但另一方面,我想知道,因为"blob"类型的大局限性:我什么时候应该将文件上传到数据库而不是服务器?

我一直喜欢将项目存储在文件系统上并将路径存储在数据库中

我认为将其放在 BLOB 中的唯一优点是您可以移动数据库,而不必担心分发文件。对于普通网站来说,这并不重要,但对于某种产品(如 CMS 或网站插件),这将是在发行版中包含资源文件的便捷方式......

我更喜欢文件系统的原因是因为这就是文件系统的设计目的 - 提供文件。我认为没有任何正当理由通过数据库推送所有数据来将所有压力置于瓶颈中。


另一方面,我建议在SQL中将文件存储为BLOB的唯一时间是当图像或文件包含敏感数据(即医学图像等)时,您需要SQL Server提供的安全性。 否则,从文件系统存储和读取文件要快得多;您可以保留对文件在 SQL Server 中位置的引用,以获得最佳方法。